手动提交偏移量

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

虽然此功能允许应用程序异步处理记录,但应了解它会增加故障后重复传递的可能性。
当激活 asyncAcks 时,在提交偏移量时无法使用 nack()(否定确认)。