Advertisement

什么是Kafka消费组协调器

阅读量:

协调器概念解析

协调器在系统中承担着确保多个消费者能够协同运作的关键职责,例如制定消费分区的分配机制,以及处理消费者加入或退出消费组的相关逻辑,其功能与Kafka中的控制器角色存在一定的相似性。

协调器功能解析

协调器主要划分为两类,分别为消费组协调器消费者协调器

消费组协调器

组协调器(GroupCoordinator)可被视为所有消费者协调器的中枢处理单元,消费者与该组件之间完成所有交互操作。

  1. 负责选举Leader消费者客户端
  2. 处理希望加入组的客户端请求
  3. 在重新平衡后将新的分配方案同步至相关节点
  4. 负责监控客户端的心跳状态
  5. 管理消费者所消费的消息偏移量,并将其记录在__consumer_offset中

消费者协调器

每个客户端均配备一个消费者协调器,其核心功能是向组协调器发送交互请求,并负责处理相关的回调逻辑。

  1. 向组协调器提出加入组别的申请
  2. 向组协调器发出同步组别请求(若为Leader客户端,还需计算分配策略数据并作为参数传递)
  3. 发起退出组别的请求
  4. 维持与组协调器之间的心跳线程
  5. 向组协调器提交已消费偏移量的请求

协调器运行流程解析

组协调器选择逻辑

消费组协调器选择

全部评论 (0)

还没有任何评论哟~