如果我有一个MongoDB副本集,其中我有3个节点(主节点,辅助节点,仲裁节点),主节点关闭,现在辅助节点主节点如何动态处理客户端中的更改,以便它们现在将写入主?
我在开发环境中体验过这一点,并开始考虑处理这个问题的最佳方法。这不是分片群集,只是一个独立的副本集。
您是否在连接中检查了一些内容,例如“IsPrimary”,如果不是,您可以更改您所写的位置?
任何建议都将不胜感激。
谢谢,
取值
答案 0 :(得分:2)
到目前为止,我发现的东西让我相信它是真正指导这个的驱动程序。我认为我的C#驱动程序设置是正确的,但我如何通过我的Python客户端(PyMongo)连接不是。我应该使用像pymongo.ReplicaSetConnection
这样的东西显示Here。
我会继续挖掘,但想分享我到目前为止所发现的东西。
修改强>
C# - 驱动程序正确处理了那么好的连接
Python:如上所述,需要修改我的连接,以便将写入路由到新的主要
Python(pymongo)代码:
from pymongo.replica_set_connection import ReplicaSetConnection
MongoConnection = ReplicaSetConnection('localhost:27017',replicaSet='myReplSet')
- S