2016-01-28 128 views
1

目前我们有Redis masterRedis slave容器。 MySQL masterMySQL slave容器。两者都复制。Docker故障转移:Redis,MySQL和Nginx

我们将如何处理其中一个主容器的故障?我应该使用Nginx之类的东西作为转发代理来检测连接失败吗?

我们已经在我们的API服务器和Web服务器上执行此操作。

+0

'haproxy'可能值得一看。 – Sobrique

回答

1

对于MySQL的复制,我建议在主设备< - > master方式中配置MySQL,并在其上设置HAProxy负载均衡器,就像eugeneware在https://github.com/eugeneware/docker-mysql-replication中所做的那样。使用HAProxy Docker容器进行设置非常简单。

对于Redis它绝对看起来像你需要哨兵:http://redis.io/topics/sentinel。在https://hub.docker.com/r/joshula/redis-sentinel/中,您可以找到Sentinel的码头图像。

我不认为使用像Nginx这样的代理是适合这两个问题的解决方案。

+0

经过进一步调查,我同意。我们的API服务器现在分别运行在PHP-FPM和Nginx(systemd)的容器中。所有服务的负载均衡均通过HAproxy进行。 tutum/haproxy具体 – AndrewMcLagan