当前位置: 首页 > article >正文

Kafka Consumer工作流程

 Kafka Consumer工作流程图

 

  • 1、启动与加入组

    • 消费者启动后,会向 Kafka 集群中的某个 Broker 发送请求,请求加入特定消费者组。这个 Broker 中的消费者协调器(Consumer Coordinator)负责管理消费者组相关事宜。
  • 2、组内分区分配(Rebalance)

    • 消费者协调器会对消费者组内的消费者进行分区分配。一个消费者组订阅某个 Topic 时,该 Topic 的每个分区只能由组内一个消费者消费 ,但一个消费者可消费多个分区数据 。比如图中TopicA的不同分区,会分配给组内不同消费者。当组内消费者数量变化,或 Topic 分区数量改变时,会触发 Rebalance,重新分配分区。
  • 3、确定消费位置(获取 Offset)

    • 消费者从系统主题__consumer_offsets中获取自己上次提交的偏移量(Offset ),它标识着消费者在分区中上次消费到的位置。若首次消费或没有可查询的偏移量记录,可能从分区起始位置(最早消息 )或最新位置(最新消息 )开始消费,这取决于配置策略。
  • 4、消息拉取

    • 消费者根据分配到的分区,向对应分区的 Leader 副本所在 Broker 发起拉取请求(如向图中broker0上的TopicA - partition0 - leader拉取 )。消费者可配置每次拉取消息的最大数量、最大字节数等参数。若 Broker 当前没有新消息,消费者可能收到空响应,也可设置等待策略,直到有新数据才返回 。
  • 5、消息处理

    • 反序列化:拉取到的消息通常是序列化的字节数组,消费者利用配置的key.deserializervalue.deserializer进行反序列化,将其转换为程序可处理的对象格式。
    • 业务逻辑处理:对反序列化后的消息,依据具体业务需求进行处理,如写入数据库、进行计算分析等。处理过程中要兼顾可靠性和性能,防止消息积压。
  • 6、偏移量提交

    • 消费者处理完消息后,需将当前消费到的偏移量提交到__consumer_offsets 。可选择自动提交(配置enable.auto.commit=true ,默认每 5 秒提交一次 ),优点是简单,但可能导致重复消费或消息丢失;也可手动提交,开发者在确保消息处理完成后提交,能更精准控制消费位置,保证消息准确消费 。
http://www.lryc.cn/news/2386178.html

相关文章:

  • 大腾智能 PDM 系统:全生命周期管理重塑制造企业数字化转型路径
  • GATT 服务的核心函数bt_gatt_discover的介绍
  • 【短距离通信】【WiFi】WiFi7关键技术之4096-QAM、MRU
  • C 语言学习笔记
  • 【MySQL成神之路】MySQL函数总结
  • 线程池实战——数据库连接池
  • 修改 vue-pdf 源码升级 pdfjs-dist 包, 以解决部分 pdf 文件显示花屏问题
  • 基于moonshot模型的Dify大语言模型应用开发核心场景
  • 华为OD机试真题——字符串序列判定(2025B卷:100分)Java/python/JavaScript/C/C++/GO最佳实现
  • 在Java的list.forEach(即 Stream API 的 forEach 方法)中,无法直接使用 continue 或 break 语句的解决办法
  • Java面向对象高级学习笔记
  • LLM之Agent:Mem0的简介、安装和使用方法、案例应用之详细攻略
  • 工商总局可视化模版-Echarts的纯HTML源码
  • Spring AI 和 Elasticsearch 作为你的向量数据库
  • 阿里云OSS Api工具类不使用sdk
  • 集群聊天服务器学习 配置开发环境(VScode远程连接虚拟机Linux开发)(2)
  • rabbitmq的使用介绍
  • 前端的core-js是什么?有什么作用?
  • 【Python 命名元祖】collections.namedtuple 学习指南
  • 系统编程day04
  • java 加密算法的简单使用
  • Arduino Uno KY-037声音传感器实验
  • 机器学习---各算法比较
  • 基于音频Transformer与动作单元的多模态情绪识别算法设计与实现(在RAVDESS数据集上的应用)
  • Flink SQL 计算实时指标同比的实现方法
  • 什么是VR实景?有哪些高价值场景?
  • 基于MATLAB实现传统谱减法以及两种改进的谱减法(增益函数谱减法、多带谱减法)的语音增强
  • 同一无线网络下的设备IP地址是否相同?
  • 第2周 PINN核心技术揭秘: 如何用神经网络求解偏微分方程
  • 【C语言】习题练手套餐 2