2016-01-28 314 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