手动提交偏移量

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

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