跳到主要内容
版本:4.1.1

非阻塞重试

Doubao 中英对照 Non-Blocking Retries

2.9 版本更改了引导基础设施 bean 的机制;有关如今引导该功能所需的两种机制,请参阅 配置。

使用 Kafka 实现非阻塞重试 / DLT 功能,通常需要设置额外的主题,并创建和配置相应的监听器。自 2.7 起,Spring for Apache Kafka 通过 @RetryableTopic 注解和 RetryTopicConfiguration 类为此提供支持,以简化引导过程。

自 3.2 起,Spring for Apache Kafka 支持对类上的 @KafkaListener 使用非阻塞重试。

important

非阻塞重试不支持批监听器。

important

非阻塞重试不能与容器事务结合使用。

章节摘要​

📄️退避延迟精度

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