回退延迟精度

概述和保证

所有消息处理和回退都由消费者线程处理,因此,延迟精度是尽力而为的。如果一条消息的处理时间超过该消费者的下一条消息的回退周期,则下一条消息的延迟将高于预期。此外,对于短延迟(约 1 秒或更短),线程必须执行的维护工作(例如提交偏移量)可能会延迟消息处理执行。如果重试主题的消费者正在处理多个分区,则精度也会受到影响,因为我们依赖于从轮询唤醒消费者并具有完整的 pollTimeouts 来进行时间调整。

也就是说,对于处理单个分区的消费者来说,在大多数情况下,消息的处理应该大约在其确切的到期时间发生。

保证消息永远不会在其到期时间之前被处理。