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

Kafka MQ 消费者应用场景

Kafka MQ 消费者应用场景

1 消费者自动提交的时机

在 Kafka 中默认的消费位移的提交方式是自动提交,这个由消费者客户端参数 enable.auto.commit 配置,默认值为 true。当然这个默认的自动提交不是每消费一条消息就提交一次,而是定期提交,这个定期的周期时间由客户端参数 auto.commit.interval.ms 配置,默认值为5秒,此参数生效的前提是 enable.auto.commit 参数为true。在代码清单3-1中并没有展示出这两个参数,说明使用的正是默认值。

在默认的方式下,消费者每隔5秒会将拉取到的每个分区中最大的消息位移进行提交。自动位移提交的动作是在poll(​)方法的逻辑里完成的,在每次真正向服务端发起拉取请求之前会检查是否可以进行位移提交,如果可以,那么就会提交上一次轮询的位移。

2 消息丢失的场景

按照一般思维逻辑而言,自动提交是延时提交,重复消费可以理解,那么消息丢失又是在什么情形下会发生的呢?我们来看下图中的情形。

拉取线程A不断地拉取消息并存入本地缓存,比如在BlockingQueue中,另一个处理线程B从缓存中读取消息并进行相应的逻辑处理。假设目前进行到了第y+1次拉取,以及第m次位移提交的时候,也就是x+6之前的位移已经确认提交了,处理线程B却还正在消费x+3的消息。此时如果处理线程B发生了异常,待其恢复之后会从第m此位移提交处,也就是x+6的位置开始拉取消息,那么x+3至x+6之间的消息就没有得到相应的

http://www.dtcms.com/a/299084.html

相关文章:

  • 【C++】stack和queue的模拟实现
  • 【C++】定义常量
  • SpringBoot连接Sftp服务器实现文件上传/下载(亲测可用)
  • Java中List集合对象去重及按属性去重
  • 【Linux系统】理解硬件 | 引入文件系统
  • MySQL数据库本地迁移到云端完整教程
  • 部署上线你的项目
  • 【Git】实用Git操作指南:从入门到高效协作
  • 小米携手云轴科技ZStack获信通院可信云用户典型实践奖
  • 大语言模型 LLM 通过 Excel 知识库 增强日志分析,根因分析能力的技术方案(2):LangChain + LlamaIndex 实现
  • Nanopct6SDK问题汇总与解决方案
  • 【架构】Docker简单认知构建
  • 【工程化】浅谈前端构建工具
  • Python爬虫实战:研究purl库相关技术
  • Mistral AI开源 Magistral-Small-2507
  • 密码学系列 - 密钥派生
  • 界面规范3-列表下
  • “给予” 超越 “莲花”,支持图片在线编辑
  • AI是否会终结IT职业?深度剖析IT行业的“涌现”与重构
  • 【GaussDB】构建一个GaussDB的Docker镜像
  • 【GaussDB】如何从GaussDB发布包中提取出内核二进制文件
  • window下MySQL安装(二)疑难解答
  • Apache Doris Data Agent 解决方案:开启智能运维与数据治理新纪元
  • excel删除重复项场景
  • Java面试题及详细答案120道之(021-040)
  • 字节跳动扣子 Coze 宣布开源:采用 Apache 2.0 许可证,支持商用
  • Qt 远程过程调用(RPC)实现方案
  • 网络基础19--OSPF路由业务多区域
  • 【Android】相对布局应用-登录界面
  • Java 中 System 类零度解析