常见的集群Leader(Master)选举机制

常见的Leader选举机制

1、投票制

  • 投票制的一般流程
    在集群启动或Leader宕机时,会先比较所有实例的事务号,以具有最新事务的实例作为Leader,若多个实例都有最新的事务号,则从中随机取一个(或根据实例ID选取最大或最小的,看具体实现)作为Leader,Follower再从新的Leader中同步事务。总结来说,有以下几点
    1、 对比事务号,取最新事务号的
    2、 若多个实例的事务号都是最新的,则按照一定的规则选(随机/实例ID最大(ZK)/实例ID最小(Neo4j))
  • 常见的用投票制的组件
    1、Zookeeper,Zookeeper的事务号又叫ZXID,若ZXID相同,myid大的作为Leader;
    2、Neo4j,Neo4j官网没有介绍因果集群的Leader选举机制,但介绍了HA集群的Master选举机制,和Zookeeper不同的是,在transaction ID一致的情况下,ha.server_id最低的会被选举为Master

2、借助ZK

  • 流程
    Zookeeper有一种临时节点,所有的实例都去Zookeeper中创建路径相同的临时节点,创建成功的就是新的Leader。
  • 常见的借助ZK选举Leader的组件
    1、Kafka,Kafka所有的Broker都会尝试在Zookeeper的/controller路径下创建临时节点,成功创建的那个broker就会成为leader,其他的broker就会成为follower

其他组件待补充

参考文档-Neo4j HA集群介绍

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值