Nid*_*ose 3 kafka-consumer-api spring-kafka
有人可以帮助理解消费者线程何时使用 spring kafka 批处理侦听器提交偏移量并将自动提交设置为 true 吗?默认情况下,消费者线程会在处理完批次中的所有消息后提交偏移量吗?我知道如果 autoCommit 为 false,提交将基于 AckModes,但想知道 autoCommit 何时为 true
使用enable.auto.commit=true,容器完全不负责提交偏移量 - 这完全取决于 kafka-clients 库中的算法。
来自卡夫卡文档:
如果为 true,消费者的偏移量将在后台定期提交。
另请参阅auto.commit.interval.ms
如果enable.auto.commit设置为true,则消费者偏移量自动提交到Kafka的频率(以毫秒为单位)。
默认情况下设置为 5 秒,因此如果您在少于该时间内处理批处理,则在批处理完成时可能会也可能不会提交偏移量。客户端在下一次轮询开始时检查自上次提交以来的时间。
我更喜欢将其设置为false这样,以便您具有明确定义的行为 - 当批处理侦听器正常退出时,容器将提交偏移量。
| 归档时间: |
|
| 查看次数: |
1662 次 |
| 最近记录: |