apache-kafka - 消费者何时提交偏移量?
问题描述
我正在使用 spring-kafka-2.2.7-RELEASE。我正在使用@KafkaListener 创建我的消费者。
我已将 enable.auto.commit 设置为 true 并将 auto.commit.interval.ms 设置为 10,000(即 10 秒)。现在我的问题是 - 消费者是每条记录的提交偏移量还是它提交并通过它在 10 秒内消耗的记录数来推进偏移量?
解决方案
我们一般不建议使用auto.commit.enabled=true
; 让容器使用BATCH
or RECORD
AckMode
s 进行提交更具确定性(poll()
分别在处理下一条记录之前或之后)。
在 2.3 版本中,我们默认禁用自动提交(除非在配置中明确设置)。
使用自动提交,我的理解是,poll()
如果自上次轮询后间隔已过,则提交将在 a 期间发生。它将提交自上次提交以来先前处理过的每个分区的最新偏移量。
推荐阅读
- javascript - 在 Vue.js 的子组件中放置 Modals
- c# - 多对多关系和创建视图
- c# - 如何使用 Convert.ToInt32 在 C# 中构造三元表达式?
- javascript - 如何让我的应用程序显示错误消息而不是损坏的图像链接?
- c# - 解析 M3U 文件
- ios - Xcode 11 GM Seed 工具链无效
- xamarin.forms - 图片不适合 ImageButton
- python - 带有 aws-lambda 的 Django 调度程序
- python - 由于网格转换,Maze 在测试用例上遇到错误
- node.js - 从 1 点到另一个点从 mongodb 获取数据