主要下降和辅助现在主要 - 如何写入新主要?

时间:2012-08-16 15:36:58

标签: c# python mongodb pymongo

如果我有一个MongoDB副本集,其中我有3个节点(主节点,辅助节点,仲裁节点),主节点关闭,现在辅助节点主节点如何动态处理客户端中的更改,以便它们现在将写入主?

我在开发环境中体验过这一点,并开始考虑处理这个问题的最佳方法。这不是分片群集,只是一个独立的副本集。

您是否在连接中检查了一些内容,例如“IsPrimary”,如果不是,您可以更改您所写的位置?

任何建议都将不胜感激。

谢谢,

取值

1 个答案:

答案 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