开发者社区> 问答> 正文

成员变更过程中如果发生Failover,可能出现哪些情况?

成员变更过程中如果发生Failover,可能出现哪些情况?

展开
收起
zxynnn 2022-05-08 12:49:47 400 0
1 条回答
写回答
取消 提交回答
  • 如果在COP日志发送之前Failover,那么成员变更失败,在旧成员配置中重新选主后继续工作; 如果在COP日志发送之后并且在ACTIVATE之前Failover,新旧成员配置中任意节点都可能成为新Leader,如果新Leader上没有COP日志,则成员变更失败;如果新Leader上有COP日志,则继续将未完成的成员变更流程走完。 如果在ACTIVATE后Failover,成员变更已经完成,但还无法保证新Leader一定在新成员配置中,此时不在新成员配置中的节点还不能下线。因此在发送ACTIVATE消息后还需要在新成员配置中提交一条no-op日志,no-op日志提交后可保证新Leader一定在新成员配置中,不在新成员配置中的节点可以安全下线。

    2022-05-08 14:24:40
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载