Consul-集群搭建方式求助

2019-07-06 13:03:17 +08:00
 lixueyu001

有没有路过的大佬,线上跑的正是 Consul 的注册中心,请教一下 Consul 的部署方式。

目前了解到的一种部署方式是部署 3-5 台 Server,然后每台业务服务器上跑一个 Client,但是每台业务机器上都装上 Consul 运维可能不太愿意,线上已经跑了 100 多台左右的服务器,现在做架构升级要加一个注册中心,选型正是 Consul。

有没有别的已经实践过的可靠的部署方式呢?各位。

还有个问题,为什么网上都不推荐直接使用 Consul-Server 的模式,而是通过 Client 转发了一次。

4237 次点击
所在节点    Java
10 条回复
abmin521
2019-07-06 14:49:03 +08:00
client 是为了跨 dc 的吧 我感觉要是能实战自注册 自下线 都是可以的
mritd
2019-07-06 15:27:40 +08:00
亲身踩坑:

当你一个服务注册到 Consul client 后,所有健康检测由这个单一的 client 进行,如果这个 client 挂了,那么集群整体认为 client 上注册的服务都挂了;所以最稳妥的情况就是 每个应用一个 consul client ;对于 k8s 集群的话目前我们是每个 pod 内置一个 consul client 容器,然后应用注册到 127.0.0.1
salamanderMH
2019-07-06 16:08:16 +08:00
同意二楼看法,因为之前在 github 上提了一个 issue,也是这么说的
nicksors
2019-07-06 17:09:11 +08:00
@mritd 活捉一只大佬,已然悄悄关注!
snowfuck
2019-07-06 20:46:51 +08:00
@mritd k8s 没有自己的服务检查工具吗,为何需要再引入 consul 来做?
mritd
2019-07-07 09:04:30 +08:00
@salamanderMH #3 我就是被坑了,看到那个 issue 了( ´▽`)
mritd
2019-07-07 09:06:07 +08:00
@snowfuck #5 有些东西不是单单你能决定得了的,比如我们有个应用 grpc 服务发现,开发选择了 consul,我们这边只能给解决方案
mritd
2019-07-07 09:08:25 +08:00
还有个恶心的问题是有时候服务优雅关闭不正常会导致 consul 中有很多状态不健康的服务,看着难受单不影响使用,我弄了一个小工具 有需要的可以拿去 github gozap/cclean
mritd
2019-07-07 13:27:09 +08:00
@nicksors #4 一直是个菜鸡
lixueyu001
2019-07-07 21:10:05 +08:00
@mritd 受教了 👍

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/580569

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX