2016-02-01 53 views
0

在我的微服務系統中,我打算使用docker swarm和Consul。 爲了確保Consul的高可用性,我打算建立一個由3個服務器代理組成的集羣(以及每個節點的客戶端代理),但這並不能幫助我從本地的代理商故障中解脫出來。HA爲本地Consor代理與Docker-Swarm

我錯過了什麼嗎? 如果不是,我如何配置swarm以知道1個以上的領事代理?

回答

0

Consul是在使用swarm時不支持多個端點的唯一服務發現後端。

zookeeper和etcd都支持在使用Swarm時爲發現後端的「集羣」提供多個Ip的etcd://10.0.0.4,10.0.0.5格式。

回答你的問題你如何配置Swarm來支持1個以上的領事(服務器) - 我沒有一個明確的答案,但可以指出你的方向和你可以測試的東西(沒有保證):

一個值得測試的建議(不推薦用於生產)是使用Load Balancer,它可以將您的請求從Swarm管理器傳遞到三個consul服務器之一。

於是開始羣經理時,你可以指向領事:// ip_of_loadbalancer:端口

然而,這將導致LB成爲瓶頸(如果它的股價下跌)。

我還沒有測試過上述內容,如果它能起作用還是無法回答 - 這僅僅是一個建議。

+0

Thanks @kamger,我會考慮它。 – user5396668