rebalance,rebalance过程学习笔记

2021-01-15  本文已影响0人  HannahLi_9f1c
  1. 什么是再均衡(rebalance)
    再均衡是指分区的所有权从一个消费者转移到另一个消费者的行为。在均衡需要重新分配分区方案
  2. 再均衡的影响
    rebalance期间,消费者无法消费读取消息,所以在这期间会变得不可用,应该避免rebalance的出现。
  3. 再均衡监听器ConsumerRebalanceListener
    有两个接口onPartitionsRevoked再均衡之前,消费者停止读取时调用,可以实现该接口,保存偏移量
    onPartitionsAssigned,再均衡之后,消费者读取之前调用,可以实现该接口,从取出上一步保存的偏移量,这样可以防止重复消费。因为再均衡之前,可能消费者已经处理完偏移量,但是没有提交位移,再均衡之后会读取偏移量,导致重复消费。
  4. 旧版消费者客户端的问题
    每个消费者在启动时都会在/ consumers/<group>/ids 和/brokers/ids 路径上注册
    个监听器。当/consumers/<group>/ids 路径下 子节点发生变化时,表示消费组中的消
    费者发生了变化;当/brokers/ids 路径下的子节点发生变化时,表示 broker 出现了增减
    样通过 ZooKeeper 提供的 Watcher 每个消费者就可以监昕消费组和 Kafka 集群的状态了
    这种方式下每个消费者对 ZooKeeper 相关路径分别进行监听, 触发再均衡操作时,
    每个消费组下的所有消费者会同时进行再均衡操作,而消费者之间并不知道彼此操作的结果,这
    样可能导致 Kafka 工作在不正确的状态,会造成羊群效应和脑裂问题。
  5. 触发再均衡的操作
  1. 再均衡的过程
  1. consumer_offsets
    《深入理解Kafka:核心设计与实践原理》
    朱忠华_2019-01-01 读书笔记
上一篇下一篇

猜你喜欢

热点阅读