docker复制集部署mongo之一主二从部署架构

本文详细描述了MongoDB在docker容器中一主二从部署的复制集中,主节点故障后的自动选举和恢复过程。当主节点宕机,剩余从节点投票决定新主,并在原主恢复后重新加入为从节点。
摘要由CSDN通过智能技术生成

参考文章:连接mongo数据库_MongoDB---基于分布式文件存储的数据库(四)(完)-CSDN博客

背景:

本人环境是采用docker镜像进行部署的mongo数据库,采用了一主二从的部署架构,并将它们放置到相同的复制集中,复制集名称为rs0.

在这种架构中,不需要投票者|仲裁者(arbiter),也就不需要设置priority。

默认复制集的第一个db为主节点。其他为从节点。

原理

当遭受到攻击导致主节点宕机时,两个从节点都会参与选举,其中一个会变成主节点。

当原主节点恢复后,将会作为从节点加入当前的副本集群。

达到遭到损害后恢复作战能力。

恢复过程

1、发现主节点不可用: 由于 db0 不可用,db1 和 db2 将发现主节点失效。

2、投票: 剩下的两个节点 db1 和 db2 会进行投票。

3、选主机制: 由于至少需要两个节点的投票,这两个节点中的任何一个同意选主,就会成功选主。

4、选主结果: 第一个投票者将成为新的主节点,MongoDB副本集会通知其他节点进行更新。

模拟主节点挂了实操(遭受攻击

进入到任意一个mongo节点容器内,当前主节点27018正常情况下:

# 进入容器

docker exec -it 容器ID mongo

# 状态

rs.status();

复制集中的其他成员:

此时都是正常运行状态,当28018挂了时,会自动选取新的节点为主节点。

当之前的28018重新恢复后,成为了从节点并拉取数据:

over!

  • 10
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Chao_nengli

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值