Docker 故障转移:Redis、MySQL 和 Nginx
Docker failover: Redis, MySQL and Nginx
目前我们有 Redis master
和 Redis slave
个容器。 MySQL master
和 MySQL slave
个容器。既复制。
我们将如何处理其中一个主容器的故障?我应该使用 Nginx 之类的东西作为转发代理来检测连接失败吗?
我们已经在 API
服务器和 Web
服务器上执行此操作。
对于 MySQL 的复制,我建议在 master <-> master 方法中配置 MySQL 并在它们之上设置一个 HAProxy 负载平衡器,就像 eugeneware 在 https://github.com/eugeneware/docker-mysql-replication 中所做的那样。使用 HAProxy Docker 容器非常容易设置。
对于 Redis,看起来您确实需要 Sentinel:http://redis.io/topics/sentinel. In https://hub.docker.com/r/joshula/redis-sentinel/您可以为 Sentinel 找到一个 docker 图像。
我认为使用像 Nginx 这样的代理不是解决这两个问题的合适方法。
目前我们有 Redis master
和 Redis slave
个容器。 MySQL master
和 MySQL slave
个容器。既复制。
我们将如何处理其中一个主容器的故障?我应该使用 Nginx 之类的东西作为转发代理来检测连接失败吗?
我们已经在 API
服务器和 Web
服务器上执行此操作。
对于 MySQL 的复制,我建议在 master <-> master 方法中配置 MySQL 并在它们之上设置一个 HAProxy 负载平衡器,就像 eugeneware 在 https://github.com/eugeneware/docker-mysql-replication 中所做的那样。使用 HAProxy Docker 容器非常容易设置。
对于 Redis,看起来您确实需要 Sentinel:http://redis.io/topics/sentinel. In https://hub.docker.com/r/joshula/redis-sentinel/您可以为 Sentinel 找到一个 docker 图像。
我认为使用像 Nginx 这样的代理不是解决这两个问题的合适方法。