实用指南:Kafka Consumer 消费流程详解

news/2025/11/29 14:09:28/文章来源:https://www.cnblogs.com/ljbguanli/p/19286313

实用指南:Kafka Consumer 消费流程详解

消费模式

pull

  • Consumer主动从Broker中拉取消息
  • 实时性低
  • 拉去时间间隔由用户指定,若设置不当:间隔太短,空请求比例会增加;间隔太长,消息的实时性太差

push

  • Broker收到数据后会主动推送给Consumer
  • 实时性高

Kafka采用Pull模式来消费消息,源于push模式由Broker决定发送速率,很难适应所有消费者的消费速率。

如果Kafka中没有数据,消费者有可能陷入循环,一直返回空材料。

工作流程

拉取消息(Poll)

消费者通过 拉取模式(pull)主动从指定分区拉取消息,拉取时需指定从哪个offset(消息偏移量)开始消费。一条消息只能被一个消费者消费,属于是集群消费。

注意

  • 每个分区的素材只能由一个消费者组里的消费者消费
  • 一个消费者可以消费多个分区
  • 消费者组会统一维护每个分区的消费进度(Offset,即已消费到的消息位置),并将其保存在系统主题(__consumer_offset)里

消费者组

Consumer Group(CG):消费者组,由多个consumer组成。形成一个消费者组的条件,是所有消费者的groupid相同。

作用

  • 避免消息的重复消费,一个分区只会被一个消费者组里的一个消费者消费。如果由多个消费者组,这个消息就会被重复消费
  • 实现负载均衡。消费者组通过分区分配机制,将主题的多个分区分配给组内的不同消费者

注意

  • 消费者组内每个消费者负责消费不同分区的数据,一个分区只能由一个组内消费者消费。
  • 消费者组之间互不影响。所有的消费者都属于某个消费者组,即逻辑上的一个订阅者就是消费者组
  • 如果向消费组中添加更多的消费者,超过主题分区数量,则有一部分消费者就会闲置,不会接收任何消息。

初始化

1. Coordinator 节点选择

消费者组的 Coordinator 节点由 group.id 的哈希值对 __consumer_offsets 主题的分区数(默认 50)取模确定。例如,若 group.id 哈希值为1,1%50=1,则选择 __consumer_offsets 主题 1 号分区所在的 Broker 上的Coordinator作为该组的协调者。

2. 消费者组初始化(JoinGroup 流程)

  1. 发送 JoinGroup 请求:组内每个消费者向 Coordinator 发送 JoinGroup 请求,申请加入消费者组。
  2. 选举 Leader 消费者:Coordinator 从组内消费者中选出一个作为Leader 消费者
  3. 上报消费主题信息:所有消费者将自己要消费的 Topic 信息发送给 Leader 消费者。
  4. 制定消费方案:Leader 消费者根据组内消费者数量和 Topic 分区情况,制定分区分配方案(如 Range、RoundRobin 策略)。
  5. 提交消费方案:Leader 消费者将制定的消费方案发送给 Coordinator。
  6. 下发消费方案:Coordinator 将消费方案下发给组内所有消费者,消费者根据方案确定自己负责的分区。

3. 心跳与重平衡触发

  • 每个消费者会与 Coordinator 保持心跳(默认 3 秒)。若消费者超时(session.timeout.ms 默认为 45 秒)或处理消息时间过长(max.poll.interval.ms 默认为 5 分钟),Coordinator 会将其移除并触发重平衡,重新分配分区。

4. Offset 提交与存储

消费者提交的Offset 会发送到对应 Coordinator 管理的 __consumer_offsets 分区中持久化,确保消费进度的可靠性。

消费流程

1. 发起拉取请求

消费者通过 ConsumerNetworkClient 向 Kafka 集群中对应分区的 Leader Broker(如 TopicA 的 Partition0、1、2 分别对应 broker0、broker1、broker2 的 Leader)发送拉取请求(Fetch Request)

2. 拉取参数控制

拉取过程由多个参数控制:

  • Fetch.min.bytes:每批次最小抓取大小(默认 1 字节),若数据量不足则等待。
  • fetch.max.wait.ms:一批数据未达最小值时的超时时间(默认 500ms),超时后即使数据不足也返回。
  • Fetch.max.bytes:每批次最大抓取大小(默认 50M),防止单次拉取数据量过大。
  • Max.poll.records:一次拉取返回消息的最大条数(默认 500 条)。

3. 接收并缓存拉取结果

Broker 调用回调函数处理拉取请求后,将消息返回给消费者,消费者将结果存入completedFetches 队列(缓存已完成的拉取任务)

4. 消息处理流程

消费者组从队列中获取消息后,依次进行:

  • 反序列化(parseRecord):将字节数据解析为业务可识别的消息格式。
  • 拦截器(Interceptors):可插入自定义逻辑(如日志记录、材料过滤)。
  • 业务处理:执行具体的业务逻辑(如存储、计算、转发等)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/980794.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025年上海继承律师权威推荐榜单:房产律所/婚姻律所/离婚房产律所精选

在家庭财产传承需求日益复杂和多元化的今天,专业的继承法律服务已成为确保遗产顺利传承、防范家庭纠纷的关键力量。 01 行业现状与法律服务特点 当前继承案件呈现出标的额增大、财产类型多样化、家庭关系复杂化三大特…

Tokenizer学习心得

主流Tokenizer分词方法 出处BPE(Byte Pair Encoding Tokenizer) <1> 词表统计:统计整个文本中,相邻两字符的出现次数 <2> 词表合并:合并次数最多的相邻两字符 <3> 持续<1><2>两步,…

2025公寓床源头厂家TOP5权威推荐:口碑好的公寓床定制厂

高校及企事业单位宿舍家具采购中,公寓床作为核心品类,其质量稳定性、定制适配性与售后服务直接影响住宿体验与采购效率。2024年教育装备采购数据显示,公寓床市场规模突破120亿元,年增速达28%,但32%的采购投诉集中…

2025年中国十大公寓床生产厂推荐:公寓床生产厂哪家性价比高

本榜单依托行业生产工艺调研、客户真实采购反馈与项目交付案例验证,深度筛选出十家标杆企业,为高校及企事业单位采购选型提供客观依据,助力精准匹配质量过硬、售后有保障的公寓床供应伙伴。 TOP1 推荐:河南乐凡办公…

2025年上海离婚房产律所权威推荐榜单:离婚事务所/继承律所/离婚律所精选

随着社会经济发展和家庭结构多元化,婚姻家事法律市场需求显著增长。据司法部统计数据显示,2024年全国婚姻家事案件受理量已突破180万件,其中涉及跨境财产分割、非婚生子女权益、家族信托纠纷等新型案件占比达37%,较…

应用安全 --- 软件安全 之 选择性加固

应用安全 --- 软件安全 之 选择性加固选择性加固不是加固方法是加固特性,有些加固软件只针对核心代码加固,一边不加固第三方库文件。可以加速程序运行的

2025年工业冷风机十大品牌排行榜揭晓,工厂车间降温通风/锻打车间通风降温/铸造车间通风降温/陶瓷车间降温工业冷风机产品推荐排行榜

行业格局深度解析 随着全球工业绿色转型加速,工业冷风机市场正迎来新一轮技术迭代。据最新行业数据显示,2024年中国工业冷风机市场规模已达280亿元,同比增长12.3%。在这一背景下,我们基于企业产能、技术实力、市场…

详细介绍:2025年(第六届)“大湾区杯”粤港澳金融数学建模竞赛准备!严格遵循要求,拿下大奖!

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025成都抖音短视频运营服务商权威榜单发布

2025 成都抖音短视频运营服务商权威榜单发布随着 2025 年成都抖音营销市场增速攀升至 15%,中小企业对运营服务商的需求从 “盲目跟风” 转向 “效果导向”,ROI、获客成本与品牌信任度成为核心选型标准。在此背景下,…

增强AI股票预测分析报告 - 2025年11月29日

增强AI股票预测分析报告 - 2025年11月29日body { font-family: "Microsoft YaHei", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; line-height: 1.6; color: rgba(51, 51, 51, 1); max-widt…

2025年南京武汉杭州靠谱的代运营企业推荐:信誉好、比较不错

本榜单聚焦企业线上运营痛点,结合真实服务案例与客户口碑,筛选出5家覆盖南京、武汉、杭州等地区的标杆代运营企业,为企业避坑选型提供客观参考,助力精准匹配能解决实际问题的服务伙伴。 TOP1 推荐:武汉车视界信…

2025化工玻璃仪器企业TOP5权威推荐:三晶玻璃怎么样

化工科研与生产领域对高精度、耐腐蚀玻璃仪器的需求日益严苛,2024年相关市场规模突破120亿元,年增速达32%,但41%的客户投诉集中在产品质量不稳定、售后响应滞后、定制能力不足三大痛点。多数客户从市场上购买相关设…

待办事项全栈搭建:Vue3 + Node.js (Koa) + MySQL深度整合,构建生产级任务管理系统的技术实践

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025年上海婚姻律所权威推荐榜单:房产律所/离婚事务所/继承律所律师事务所精选

在婚姻家事法律需求日益复杂多元的今天,专业的婚姻家事律师与律所已成为解决家庭纠纷、维护当事人合法权益的关键力量。 01 行业现状与法律服务特点 当前婚姻家事案件呈现出标的额增大、财产类型多样化、涉外因素增多…

四、Nodejs基于 Koa 框架的 WebServer 构建与原理解析 - 实践

四、Nodejs基于 Koa 框架的 WebServer 构建与原理解析 - 实践2025-11-29 13:29 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !import…

AI股票预测分析报告 - 2025年11月29日

AI股票预测分析报告 - 2025年11月29日body { font-family: "Microsoft YaHei", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; line-height: 1.6; color: rgba(51, 51, 51, 1); max-width: 1…

2025年北京公司注册大型机构、资深机构、正规企业TOP5排

为帮助创业者与企业高效锁定合规可靠的公司注册合作伙伴,避免因机构不专业导致的注册延误、资质风险等问题,我们从资质合规性(如代理记账许可、行业协会认证)、服务专业度(含流程透明度、政策解读能力)、客户口碑…

2025年11月工业陶瓷厂家最新推荐,聚焦高端定制需求与全案交付能力!

在高端制造个性化升级浪潮中,工业陶瓷的定制精度与全案交付能力成为产业链核心竞争力,但市场调研显示,仅 30% 的厂家能实现 0.005mm 级定制精度,45% 的企业存在交付周期延误问题,给采购决策带来极大挑战。本次推荐…

05-OQL查询语言详解

第五章:OQL查询语言详解 5.1 OQL概述 5.1.1 什么是OQL OQL(ORM Query Language)是SOD框架独创的ORM查询语言,它的设计目标是:接近SQL语法:让熟悉SQL的开发者无缝上手 类型安全:在编译期发现错误,而不是运行时 …

04-实体类与ORM映射

第四章:实体类与ORM映射 4.1 实体类基础 4.1.1 EntityBase类详解 EntityBase是SOD框架中所有实体类的基类,它提供了动态属性管理、元数据映射和状态追踪等核心功能。 public abstract class EntityBase {// ===== 核…