手动提交偏移量

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

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