微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Couchdb 集群拆分

如何解决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 举报,一经查实,本站将立刻删除。