首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MongoDB复制故障切换

MongoDB复制故障切换
EN

Stack Overflow用户
提问于 2014-04-04 05:29:29
回答 1查看 202关注 0票数 0

我想要在多个站点之间进行复制以实现冗余。

我正在考虑部署以下内容:部署5个Mongod实例(必须是奇数,否则需要一个仲裁员),在站点A上部署3个,在站点B上部署2个。

如果站点B宕机了,我们还有3个在站点A上运行是很好的,但是如果站点A宕机了,那么我们将只有2个神灵在运行。这样可以吗?哪一个会成为大师呢?在我手动启动第三个之前,他们可以自己管理吗?

第二个问题,在站点重新连接后,mongo将如何处理?

EN

回答 1

Stack Overflow用户

发布于 2014-04-04 07:21:13

只有当超过50%的节点可用时,mongo副本集才可用。

在您的情况下,如果站点A出现故障,则您的副本集将离线

一种可能的替代方案是在A中运行2个副本节点,在B中运行2个副本节点,然后在外部位置运行仲裁器或延迟的副本。

延迟的副本将提供您的数据的进一步备份,但我会确保您将其优先级设置为0,这将确保虽然它是投票成员,但它不会被提升为主要成员。

拥有第三个站点可能不可行,但这是最安全的方法。

显然,确保站点A ->站点C、站点B ->站点C之间的通信安全将带来复杂的问题。

如果您真的被限制为2个站点,那么确保副本集保持健康的唯一真正方法是监视健康的节点数量,并具有一些自动缩放功能,以确保您始终有足够的节点在主节点上投票。然而,我认为在这个解决方案中,在启动新服务器并将其添加到副本集中时,您仍然会有一些停机时间。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22849391

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档