
有没有路过的大佬,线上跑的正是 Consul 的注册中心,请教一下 Consul 的部署方式。
目前了解到的一种部署方式是部署 3-5 台 Server,然后每台业务服务器上跑一个 Client,但是每台业务机器上都装上 Consul 运维可能不太愿意,线上已经跑了 100 多台左右的服务器,现在做架构升级要加一个注册中心,选型正是 Consul。
有没有别的已经实践过的可靠的部署方式呢?各位。
还有个问题,为什么网上都不推荐直接使用 Consul-Server 的模式,而是通过 Client 转发了一次。
1 abmin521 2019 年 7 月 6 日 via Android client 是为了跨 dc 的吧 我感觉要是能实战自注册 自下线 都是可以的 |
2 mritd 2019 年 7 月 6 日 亲身踩坑: 当你一个服务注册到 Consul client 后,所有健康检测由这个单一的 client 进行,如果这个 client 挂了,那么集群整体认为 client 上注册的服务都挂了;所以最稳妥的情况就是 每个应用一个 consul client ;对于 k8s 集群的话目前我们是每个 pod 内置一个 consul client 容器,然后应用注册到 127.0.0.1 |
3 salamanderMH 2019 年 7 月 6 日 同意二楼看法,因为之前在 github 上提了一个 issue,也是这么说的 |
6 mritd 2019 年 7 月 7 日 via iPhone @salamanderMH #3 我就是被坑了,看到那个 issue 了( `) |
7 mritd 2019 年 7 月 7 日 via iPhone @snowfuck #5 有些东西不是单单你能决定得了的,比如我们有个应用 grpc 服务发现,开发选择了 consul,我们这边只能给解决方案 |
8 mritd 2019 年 7 月 7 日 via iPhone 还有个恶心的问题是有时候服务优雅关闭不正常会导致 consul 中有很多状态不健康的服务,看着难受单不影响使用,我弄了一个小工具 有需要的可以拿去 github gozap/cclean |
10 lixueyu001 OP @mritd 受教了 |