Back Off Delay Precision

Overview and Guarantees

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

话虽如此,对于处理单个分区的使用者,在大多数情况下,消息的处理应大约在其确切到期时间发生。

可以保证消息绝不会在到期之前进行处理。