使用Docker-Swarm的本地Consul代理的HA

时间:2016-02-01 16:53:12

标签: consul docker-swarm

在我的微服务系统中,我计划使用docker swarm和Consul。 为了确保Consul的高可用性,我将构建一个由3个服务器代理组成的集群(以及每个节点的客户端代理),但这并不能使我免于本地的领事代理失败。

我错过了什么吗? 如果没有,我如何配置swarm以了解超过1个consul代理?

1 个答案:

答案 0 :(得分:0)

Consul是唯一一个在使用swarm时不支持多个端点的服务发现后端。

zookeeper和etcd都支持etcd //10.0.0.4,10.0.0.5格式,为" cluster"提供多​​个Ip。使用Swarm时的发现后端。

回答你的问题如何配置Swarm以支持1个以上的领事(服务器) - 我没有明确的答案,但可以指出你的方向和你可以测试的东西(不保证) :

值得测试的一个建议(不推荐用于生产)是使用负载均衡器,可以将您的请求从Swarm管理器传递到三个领事服务器之一。

因此,当启动swarm管理器时,您可以指向consul:// ip_of_loadbalancer:port

然而,这将导致LB成为瓶颈(如果它下降)。

我没有对上述内容进行测试,如果能够正常工作则无法回答 - 这仅仅是一个建议。