手动提交偏移量
通常,当使用 AckMode.MANUAL
或 AckMode.MANUAL_IMMEDIATE
时,必须按顺序确认确认,因为 Kafka 不会为每个记录维护状态,而只会为每个组/分区维护一个提交的偏移量。从版本 2.8 开始,您现在可以设置容器属性 asyncAcks
,它允许以任何顺序确认轮询返回的记录的确认。监听器容器将推迟无序提交,直到收到缺少的确认。消费者将暂停(不传递新记录),直到之前轮询的所有偏移量都已提交。
虽然此功能允许应用程序异步处理记录,但应了解它会增加故障后重复传递的可能性。 |
当激活 asyncAcks 时,在提交偏移量时无法使用 nack() (否定确认)。 |