MongoDB复制集成员类型

  (1)Arbiter节点——只参与投票,不能被选举为Primary,并且不从Primary同步数据;它本身不存储数据,是非常轻量级的服务;从3.6版本起,Arbiter必须设置Priority为0。推荐在生产库中尽量不要使用Arbite节点。

  (2)Priority节点——选举优先级为0,不会被选举为Primary。从3.2版本起,Priority大于0的vote必须为1,而vote为0的Priority必须为1;若低优先级的Secondary被高优先级的Secondary选举为Primary,则它会继续选举直到高优先级的Secondary成为Primary。

  (3)Vote 0

  MongoDB 3.0复制集成员最多为50个,参与Primary选举投票的成员最多为7个,其他成员(Vote0)的vote属性必须设置为0,即不参与投票。

  从3.2版本起,vote为0的节点不能成为主节点,vote为1的节点只能从vote为1的节点同步。

  能发起选举的节点是属于以下五种状态中的某一种:

  • PRIMARY
  • SECONDARY
  • RECOVERING
  • ARBITER
  • ROLLBACK

  (4)Hidden节点——不会被选举为主节点,并且对Driver不可见,可以用来做数据备份和离线计算。

  (5)Delayed节点——必须是Hidden节点,并且数据落后于Primary一段时间(时间长短可以配置),该类节点可以用来恢复数据。

  (6)副本集rollback过程

  回滚只会发生在主节点的写操作没能成功在从节点上应用就“Down"掉的情况下,当主节点重新以一个从节点加入复制集时,它将进行“回滚”,并且将回滚的数据写到单独的rollback目录下,进节点上的写操作将于复制集中其他成员的写操作保持一致。此外,rollback的数据不能超过300MB。

posted @ 2020-03-15 21:43  晒太阳的兔子很忙  阅读(161)  评论(0编辑  收藏  举报