使用消息后 no commit/acknowledge 到 Kafka 的后果(禁用自动提交)

Consequences of no commit/acknowledge to Kafka after consuming a message (with auto commit disabled)

我在 Kubernetes 上有一个多节点 Spring 引导应用程序 运行。每个节点各有 1 个侦听器。由于我在使用 spring-kafka 时遇到自动提交问题,我现在切换到 MANUAL_IMMEDIATE 确认模式。 This is what helped me do that

现在,我在服务执行结束时向 Kafka 确认。如果由于某种原因我无法向 Kafka 确认,会发生什么?冷却后,听众会再次阅读该消息吗?如果是,我该如何控制这个冷却时间?如果不是,该消息会怎样?

侦听器不会re-consume 消息,除非重新启动消费者或发生重新平衡。

Kafka为每个consumer/partition维护2个指针; position(最后读取的记录)和提交的偏移量。当消费者启动或发生重新平衡时,该位置将设置为提交的偏移量。该位置仅通过获取新记录或对该分区的使用者执行搜索时更改。