在我的微服务系统中,我计划使用docker swarm和Consul。为了确保Consul的高可用性,我将构建一个由3个服务器代理组成的集群(每个节点都有一个客户端代理),但这并不能避免本地consul代理失败。
我是不是遗漏了什么?如果没有,我如何将swarm配置为能够识别1个以上的领事代理?
发布于 2016-04-15 22:33:31
Consul是使用swarm时唯一不支持多个端点的服务发现后端。
zookeeper和etcd都支持etcd://10.0.0.4,10.0.0.5格式,即在使用Swarm时为发现后端的“集群”提供多个Ip。
为了回答你的问题,你如何配置Swarm来支持一个以上的领事(服务器)-我没有一个明确的答案,但可以为你指出一个方向和一些你可以测试的东西(不能保证):
一个值得测试的建议(不建议用于生产)是使用负载均衡器,它可以将您的请求从Swarm管理器传递到三个咨询服务器之一。
因此,在启动群管理器时,您可以指向consul://ip_of_loadbalancer:port
但是,这将导致LB成为瓶颈(如果它出现故障)。
我还没有测试过上面的内容,也不能回答它是否会工作--这只是一个建议。
https://stackoverflow.com/questions/35135934
复制相似问题