跳到主要内容

手动提交偏移量

ChatGPT-4o-mini 中英对照 Manually Committing Offsets

通常,当使用 AckMode.MANUALAckMode.MANUAL_IMMEDIATE 时,确认必须按顺序进行,因为 Kafka 不会为每条记录维护状态,只为每个组/分区维护一个已提交的偏移量。从版本 2.8 开始,您现在可以设置容器属性 asyncAcks,这允许对由 poll 返回的记录的确认以任何顺序进行。监听器容器将推迟无序提交,直到收到缺失的确认。在所有先前 poll 的偏移量被提交之前,消费者将被暂停(不交付新记录)。

important

虽然此功能允许应用程序异步处理记录,但应理解在发生故障后,它增加了重复交付的可能性。

important

asyncAcks 被激活时,在 提交偏移量 时无法使用 nack()(负确认)。