nacos 建议Distro增加一致性hash选项

sqougxex  于 2022-11-05  发布在  Nacos
关注(0)|答案(8)|浏览(196)

现在的Distro协议只是服务名称的hashcode值模int32最大正整数再模可用节点数,某个节点出现问题或需要运维重启时,剩下的节点都需要重新排定负责的节点。
采用一致性hash不仅可以减少节点重启导致的波动,而且节点前面的负载均衡可以配置同样的一致性hash算法将注册示例的心跳发给负责处理的节点,尽可能地减少节点之间的转发操作。

lymnna71

lymnna711#

distro hash 抖动的问题是 1.x 的老问题了,上2.x的版本之后,建立长连接的节点就是责任节点,就没有这个问题了。

nhhxz33t

nhhxz33t2#

我们要用nacos sync做多机房示例同步,用不了2.0,因为2.0目前的机制和nacos sync不兼容。如果自己定制的版本还有问题,就打算换软件了。

klsxnrf1

klsxnrf13#

去年我问过这个问题,nacos官方回应短期内不会考虑。

如果你们可以实现一致性hash方案,能否提个PR?

wf82jlnq

wf82jlnq4#

nacos sync 是 2.0客户端不能用,不是服务端不能用,就不能自己试下吗?

wmomyfyw

wmomyfyw5#

nacos sync 是 2.0客户端不能用,不是服务端不能用,就不能自己试下吗?

即使把服务端替换成nacos 2.x 也解决不了hash抖动的问题,因为只要客户端是1.x版本的,对于服务端来说,无非就是distroTag是ServiceName还是IpPort的问题,hash抖动依然存在。

pgpifvop

pgpifvop6#


去年我问过这个问题,nacos官方回应短期内不会考虑。

如果你们可以实现一致性hash方案,能否提个PR?

https://blog.csdn.net/github_28583061/article/details/106384335
pr不打算提了,因为我们的方案是结合前端负载均衡一起做一致性hash,并不通用

y53ybaqx

y53ybaqx7#

我们的解决方案是nacosSync用nacos client 2.x注册持久化示例,不维持心跳 ,绕开这个问题。nacosSync本身也维持不了过多的心跳,当同步的示例数多了后就要考虑分片。所以采用注册持久化示例的方式

wvyml7n5

wvyml7n58#

Thanks for your feedback and contribution. But the issue/pull request has not had recent activity more than180 days. This issue/pull request will be closed if no further activity occurs7 days later.
We may solve this issue in new version. So can you upgrade to newest version and retry?
If there are still issues or want to contribute again. Please create new issue or pull request again.

相关问题