单成员副本集可以吗?

时间:2018-10-22 18:12:49

标签: mongodb replication

我试图找到以下问题的权威答案:单个成员副本是否设置了受支持的部署设置?

尽管这个问题看起来很奇怪或愚蠢,但我的具体用例如下:

一个团队希望从Mongo 2升级到Mongo 4,他们预见到交易可能对他们有用。他们当前运行一个mongod实例。 MongoDB文档使他们相信,要使用事务,他们必须激活副本集并至少部署3个mongod实例。有趣的文档位是:

https://docs.mongodb.com/manual/core/transactions/#transactions-and-replica-sets

  

多文档事务仅适用于副本集。分片群集的事务计划在MongoDB 4.2 [1]中进行。

https://docs.mongodb.com/manual/core/replica-set-members/

  

副本集的最低建议配置是具有三个数据承载成员的三个成员副本集:一个主要成员和两个次要成员。您也可以部署具有三个数据承载成员的三个成员副本集:一个主副本,一个辅助副本和一个仲裁者,但是具有至少三个数据承载成员的副本集可以提供更好的冗余性。

我的观点是:

  • Replica集旨在通过典型的主次要设计来提高冗余性和可用性
  • 副本集文档集中于对其初始原始目的有意义的内容。它记录了HA的传统和合理的部署设置(> = 3以及投票者的奇数,单独的计算机,如何处理多个DC等)
  • 团队对HA不感兴趣,但必须切换到副本集才能使用TX(替代路径是放弃TX并部署一个mongod)
  • 根据副本集文档和我的分布式系统背景,如果您不关心HA,我不明白为什么单个成员副本集会成为问题。如果只有一个成员,则可以选举一个主要成员,复制为NOOP,默认和多数写关注仅为w: 1

我对吗?

0 个答案:

没有答案