Mongo dB 副本集冗余测试

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mongo dB 副本集冗余测试相关的知识,希望对你有一定的参考价值。

测试流程:
1、 三台机器均存活的情况下,显示状态如下所示:

技术分享图片
描述:第三台机器10.253.4.191 显示为PRIMARY.其余2台显示状态为SECONDARY.
2、 检测目前三台存活时候的数据,集合名称为dictionary。三台数据显示如下:

技术分享图片
描述:最后一条数据显示test11.
3、 停用PRIMARY集合的服务器进程。在剩下2台中任一一台查看集合状态。如下:
技术分享图片

描述:目前PRIMARY状态显示在第二台服务器上【IP:10.139.39.61】,第三台状态为不可达。
4、在目前状况下,通过服务窗添加一条测试数据testone.如下:
技术分享图片
描述:testone 数据添加成功
5、启动第三台服务进程。看其数据同步情况如下:
技术分享图片
描述:第三台服务进程启动之后,其向现在的PRIMARY同步数据成功。

结论:Mongo dB 副本集测试完成,可满足在三台服务中主服务器当机之后,由其余的从服务器接管读写任务。
缺陷:当三台服务器中,当机一台,可以由其余2台中自动选择一台作为主服务器。如果此时再当机主服务进程,不会将剩余一台作为主服务进程,将会出现数据无法读写情况。产生原因是Mongo dB副本集至少需要三个节点才能满足数据迁移需求。

以上是关于Mongo dB 副本集冗余测试的主要内容,如果未能解决你的问题,请参考以下文章

停止 mongo 上的副本集,主节点进入恢复状态

mongodb单机升级为副本集

node.js 连接mongo副本集

Docker mongo副本集环境搭建

MongoDB学习笔记:副本集

mongo 单机开启副本集事务