回退延迟精度

概述和保证

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

话虽如此,对于处理单个分区的消费者来说,在大多数情况下,消息的处理应该在它确切的到期时间左右发生。

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