首页 > 解决方案 > spring-kafka AckMode中的MANUAL和MANUAL_IMMEDIATE有什么区别

问题描述

从spring-docs,我可以看到

MANUAL - 消息侦听器负责确认()确认;之后,应用与 BATCH 相同的语义。

MANUAL_IMMEDIATE - 当侦听器调用 Acknowledgement.acknowledge() 方法时立即提交偏移量。

但是,如果侦听器正在提交偏移量,究竟有什么区别。为MANUAL模式做了哪些额外的步骤

标签: apache-kafkakafka-consumer-apispring-kafka

解决方案


MANUAL - 处理完最后一次轮询的所有结果后,ack 将排队并在一个操作中提交偏移量。

MANUAL_IMMEDIATE - 只要在侦听器线程上执行 ack,就会立即提交偏移量(同步或异步)。


推荐阅读