kafka leader选举机制

本文介绍了Kafka的Leader选举机制,包括controller的选举和分区的Leader选举。Controller通过Zookeeper进行选举,而分区的Leader则在副本中选择,确保高可用性和消息一致性。当Leader不可用时,会从ISR集合中选取新的Leader,保证服务连续性。
摘要由CSDN通过智能技术生成

一、概述

kafka中有多个broker,kafka会在所有broker中选出一个controller。controller负责管理整个集群中的分区和副本的状态,其中Partition的Leader选举也是由controller决定。controller会将Leader的改变直接通过RPC的方式通知需为此作出响应的Broker

二、Kafka集群的Leader选举原理

Kafka的Leader选举是通过在zookeeper上创建/controller临时节点来实现leader选举,通过先到先得得原则决定。

所有参与选举的broker在该节点中写入当前broker的信息 ,由于一个节点只能被一个客户端创建成功,创建成功的broker即为leader(controller)。
由于临时节点如果客户端和服务端断开的话,临时节点会被删除。所有当leader和zookeeper失去连接时,临时节点会删除,而其他broker会监听该节点的变化,当节点删除时,其他broker会收到事件通知,重新发起leader选举。

三、分区的leader选举

Kafka会将每个topic分为多个消息分区(partition),这样消息的处理也可以在多个服务器上并行,有利于提供消息处理效率。

同时为了确保高可用,每个分区都会有一定数量的副本(replica)。这样如果有部分服务器不可用,副本所在的服务器就会接替上来,保证应用的持续性。为了提高处理效率,消息的读写都是在固定的一个副本上完成。这个副本就是所谓的Leader,而其他副本则是Follower,Follower会定期地

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值