c# - Primary 宕机,Secondary 现在是 Primary - 如何写入新的 Primary?

标签 c# python mongodb pymongo

如果我有一个 MongoDB 副本集,其中有 3 个节点(主要节点、次要节点、仲裁节点),并且主要节点出现故障,现在次要节点成为主要节点,您如何动态处理客户端中的更改,以便它们现在写入基本的?

我在开发环境中遇到过这种情况,并开始思考处理这种情况的最佳方法。这不是分片集群,只是一个独立的副本集。

您是否检查连接中的某些内容(如“IsPrimary”),如果不是,则更改您的写入位置?

如有任何建议,我们将不胜感激。

谢谢,

小号

最佳答案

到目前为止,我所发现的使我相信实际上是驱动程序会正确地引导它。我认为我的 C# 驱动程序设置是正确的,但我通过 Python 客户端 (PyMongo) 进行连接的方式却不正确。我应该使用类似 pymongo.ReplicaSetConnection 的东西

已显示 Here .

我会继续挖掘,但想分享我目前的发现。

编辑:

C# - 驱动程序正确地处理连接,非常好

Python:需要如上所述修改我的连接,以便它将写入路由到新的主节点

Python (pymongo) 代码:

from pymongo.replica_set_connection import ReplicaSetConnection

MongoConnection = ReplicaSetConnection('localhost:27017',replicaSet='myReplSet')

--S

关于c# - Primary 宕机,Secondary 现在是 Primary - 如何写入新的 Primary?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11990765/

相关文章:

c# - 如何从 WinForms 中的文本框移除焦点?

c# - 当它在asp.net中没有图像时如何使图像框不可见

c# - MVC - 多态 View 绑定(bind)可能吗?

python 正则表达式 : duplicate names in named groups

python - 将命令行参数传递给使用装饰器参数调用装饰函数的函数

mongodb - 如何将 MongoDB 聚合用于通用集合操作(​​联合、交集、差异)

c# - 使用单独的 foreach 在一行中显示两个 div

python - 从特定行/索引处的一个数据框搜索值并将其添加到特定行/索引处的另一个 df

node.js - 我应该如何保证涉及金融交易操作的数据库的一致性

database - 如何使用 mongoimport 指定前导字段名称?