Couchdb 集群拆分

问题描述

我试图了解节点作为集群协同工作的方式。我正在开发一个新的应用程序版本(迁移 MysqL => couchdb)。我注意到有时节点不再是集群的一部分。

{"all_nodes":["couchdb@couchdb-0.couchdb-stage-svc.default.svc.cluster.local"],"cluster_nodes":["couchdb@couchdb-0.couchdb-stage-svc.default.svc.cluster.local","couchdb@couchdb-1.couchdb-stage-svc.default.svc.cluster.local","couchdb
@couchdb-2.couchdb-stage-svc.default.svc.cluster.local"]}

其他容器:

{"all_nodes":["couchdb@couchdb-1.couchdb-stage-svc.default.svc.cluster.local","couchdb@couchdb-2.couchdb-stage-svc.default.svc.cluster.local"],"couchdb
@couchdb-2.couchdb-stage-svc.default.svc.cluster.local"]}

这会导致数据不一致 - couchdb-0 在同一个负载均衡器后面形成了第二个集群。

如果重启集群中的 3 个容器中的任何一个,问题就会消失。

网络通过 VPN 运行(延迟 7-50 毫秒,取决于区域)。有什么我可以在 couchdb 中调整以防止这种情况发生的吗?

据我所知,cluster_nodes 是连接节点的列表,all_nodes 是节点知道的节点列表。那么这怎么可能,节点不知道其他连接的节点?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)