apache-kafka - spring-kafka AckMode中MANUAL和MANUAL_IMMEDIATE有什么区别

标签 apache-kafka kafka-consumer-api spring-kafka

从 spring-docs,我可以看到

MANUAL - the message listener is responsible to acknowledge() the Acknowledgment; after which, the same semantics as BATCH are applied.

MANUAL_IMMEDIATE - commit the offset immediately when the Acknowledgment.acknowledge() method is called by the listener.


但是如果监听器提交偏移量到底有什么区别。为 MANUAL 做了哪些额外的步骤模式

最佳答案

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

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

关于apache-kafka - spring-kafka AckMode中MANUAL和MANUAL_IMMEDIATE有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60932007/

相关文章:

java - 卡夫卡 : How to re-consume un committed/not Acknowledged message

scala - 使用模式将带有 Spark 的 AVRO 消息转换为 DataFrame

java - SpringBoot、Kafka : java. lang.NoSuchMethodError : org. apache.kafka.clients.producer.Producer.close(Ljava/time/Duration;)V

c - librdkafka C API Kafka 消费者无法正确读取所有消息

java - 有没有办法从Java API中的特定偏移量开始消费kafka主题?

nginx - 允许通过nginx访问kafka

apache-kafka - 每个消费者 Kafka 主题的最大订阅限制

spring-cloud-stream - @KafkaListener、@StreamListener 和 @ServiceActivator 之间的区别?

java - 如何在 Java 中以编程方式获取 Kafka Cluster 和 Broker 信息?

spring - 如何配置自定义 Kafka 反序列化器并使用 KafkaListener 获取使用的 JSON 数据