ReplicaSet中的MongoDB多个主服务器

Dan*_*elH 6 replication master mongodb database-replication replicaset

我有一个关于MongoDB副本集中多个主人的问题.我有以下布局:

服务器A - >使用MongoDB和几个应用程序

服务器B - >使用MongoDB和几个应用程序

MongoDB的两个实例都组织在同一副本集中(服务器A作为主服务器,服务器B作为辅助服务器).但现在有问题了.两个数据库都应包含服务器上应用程序的数据.

是否可以部署具有两个主服务器的副本集,以便服务器A的数据在服务器B的MongoDB中可用,反之亦然?

非常感谢你提前

drm*_*ror 15

MongoDB中的副本集此时只能有一个主服务器.(它被称为副本集的主要副本.)对于您的方案,解决方案通常是使用分片群集.在您的示例中,您将有两个分片:一个用于服务器A的数据,另一个用于服务器B的数据.两个分片都实现为副本集,因此每个分片至少有三个服务器.然后,您可以将A分片的主分区放在同一数据中心A中,并将B分片的主分区放在数据中心B中.每个分片的至少一个副本(称为辅助分片)将位于另一个数据中心.

这意味着每个数据中心都可以使用所有数据,但是写入A分片总是需要在数据中心A中进行,并写入数据中心B中的B分片.(尽管写入也可以远程完成,所以你可以从数据中心B写入分片A,这只是在这种情况下它是远程写入.)