一边搭建一边理解MongoDB副本集(分布于两个或多个数据中心的副本集)

本文详述了如何配置MongoDB副本集以分布在多个数据中心,提高冗余性和容错性。通过实例展示了不同数量成员的分布部署策略,并讨论了成员选举权和网络连接的重要性。
摘要由CSDN通过智能技术生成

一边搭建一边理解MongoDB副本集(分布于两个或多个数据中心的副本集)

作者:链上研发-175405
时间:2017-01-21

概览

尽管副本集提供了对于单节点故障的基础保护,那些位于同一个数据中心的成员还是容易受到数据中心故障的影响。断电,网络中断和自然灾害都可能影响那些在同一个数据中心的副本及成员。

不同地理位置的数据中心分布部署副本集节点于增加了冗余性并在其中一个数据中心不可用湿提供了容错。

分布部署成员

为了在数据中心故障时保护你的数据,保证至少有一个节点运行在备份数据中心中。如果可能,使用奇数个数据中心,然后选择分布部署的数量最大化满足在损失时一个数据中心的情况下,剩下的副本集成员可以选举出主节点或者至少提供一份数据的备份。

例子

三个成员的副本集

例如,对于三个成员的副本集,可行的分布部署方法包括:

  • 两个数据中心:两个成员在数据中心1,一个成员在数据中心2。如果副本集中其中一个成员是监督者,把拥有数据的成员和监督者部署到数据中心1。
    • 如果数据中心1故障,副本集变为只读。
    • 如果数据中心2故障,副本集仍然可写,因为在数据中心1的节点可以进行选举。
  • 三个数据中心:一个成员在数据中心1,一个在数据中心2,一个在数据中心3
    • 如果任何一个数据中心故障,副本集仍然可写,因为剩下的成员可以进行选举。
五个成员的副本集

对与5个成员的副本集,可行的分布式部署包括:

  • 两个数据中心:三个成员在数据中心1,两个成员在数据中心2
    • 如果数据中心1故障,副本集变为只读。
    • 如果数据中心2故障,副本集仍然可写因为在数据中心1的节点可以选举主节点。
  • 三个数据中心:两个成员在数据中心1,两个成员在数据中心2,一个在数据中心3。
    • 如果任何一个数据中心故障,副本集仍然可写因为其他剩下的节点可以选举主节点。

例如,下面5个副本集成员分布部署在3个数据中心内。

这里写图片描述

成员选举权

副本集的某些成员,比如那些有网络限制或有限的资源,不应该在故障时成为主节点。把那些不能成为主节点的成员设置为0优先级。

在某些情况下,你希望在其他数据中心成员成为主节点之前,讲一个数据中心中的成员选为主节点。你可以修改成员优先级,是的一个数据中心中的成员比其他数据中心的成员拥有更高的优先级。

In the following example, the replica set members in Data Center 1 have a higher priority than the members in Data Center 2 and 3; the members in Data Center 2 have a higher priority than the member in Data Center 3:

下面的例子中,在数据中心1中的副本集中的成员相比数据中心2、3的成员有用更高的优先级;在数据中心2的成员相比数据中心3拥有更高的优先级。

这里写图片描述

连接

检查你的网络设置以允许所有成员的通信,例如,每一个成员都必须能够连接其他每一个成员。

作者:链上研发-175405
时间:2017-01-21

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值