mongodb源码分析(十七)replication replset状态转换图

         本文接上面两篇分析replset模式的文章,来看看replset的状态转换图.看不到全图的请看这里:

mongodb源码分析(十七)replication replset状态转换图_第1张图片

replication replset状态转换图

        本图中某些部分并未画到.

1. 服务器进入RS_SHUNNING状态后如果配置更改后其会再次进入RS_SECONDARY等状态.

2. 心跳协议无法连接时是自己端将远端服务器标识为RS_DOWN,远端服务器处于什么状态是

    未知的,后面能够连接时这个状态将改变,RS_UNKNOWN同理.

3. 这里的维护指的是通过命令replSetMaintenance设置的模式,调用compact,repairdatabase,touch

    命令将会首先将服务器设置为维护模式,执行完毕后再维护模式关闭.

4. 进入fatal状态的服务器也只能通过reconfig再次进入正常状态.

5. 过时指的是当前sync对象的最旧操作日志比自己端最新的操作日志还要老.

6. secondary到primary转变时优先级最高才会有投票过半.

7. 配置变更后服务进程自己不在新的配置中,则关闭所有socket进入shunning状态.

注意:这个图只是我学习mongodb replset画的,水平有限,可能存在错误或者我理解不清楚的地

方,仅供参考.


原文链接: mongodb源码分析(十七)replication replset状态转换图

作者: yhjj0108,杨浩

你可能感兴趣的:(mongodb源码分析(十七)replication replset状态转换图)