MongoDB 实例可以是多个副本集的成员吗?

use*_*660 7 mongodb database-replication replicaset

我想知道是否可以有一个属于两个副本集的 mongoDB 实例。

例如:ReplicaSet1 有成员 10.10.1.1 和 10.10.2.1 ReplicaSet2 有成员 10.10.1.1、10.10.1.2 和 10.10.1.3

Tom*_*ing 7

不,单个 mongod 服务器不能是多个副本集的成员。这似乎没有在任何地方明确记录,所以我不得不寻找至少强烈暗示它的东西。首先,集合中的每个副本都具有相同的数据库和集合,这是由重放主节点 oplog 的辅助节点维护的。辅助节点将无法从多个主要节点重放 oplog。其次,该db.serverStatus()命令返回一个包含具有复制状态的repl对象的文档,它是一个对象,而不是一个数组。

让一台机器成为多个副本集成员的唯一方法是在该机器上运行多个 mongod 服务器。