Kafka学习笔记九:kafka集群中controller,rebalance,HW

1.controller

集群中谁来充当controller

kafka集群中的broker在zookeeper中创建的临时序号节点,序号最小的节点(最先创建的节点)将作为集群的controller,负责管理整个集群中的所有分区和副本的状态

  • 当某个分区的leader副本出现故障时,由控制器负责为该分区选举新的leader副本
  • 当检测到某个分区的ISR集合发生变化时,由控制器负责通知所有broker更新其元数据信息
  • 当使用kafka-topics.sh脚本为某个topic增加分区数量时,同样还是由控制器负责让新分区被其他节点感知到

2.rebalance机制

前提是:消费者没有指明分区消费,当消费组里的消费者和分区的关系发生变化,那么就会触发rebalance机制

这个机制会重新调整消费者消费哪个分区

在触发rebalance机制之前,消费者消费哪个分区有三个策略:

  • range:通过公式计算某个消费者消费哪个分区
  • 轮询:轮流消费
  • sticky: 粘合策略,如果需要rebalance,会在之前已分配的基础上调整,不会改变之前的分配情况,如果这个策略没有开,那么就要进行全部的重新分配,建议开启

3.HW和LEO机制

HW:高水位 已同步完成的位置,消息在写入broker时,且每个broker完成这条消息的同步后,hw才会变化,在这之前消费者是消费不到这条消息的,在同步完成之后,hw更新之后,消费者才能消费到这条消息,这样的目的是防止消息的丢失

LEO:是某个副本最后消息的位置(log-end-offset)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只不秃头的小菜鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值