Spring kafka无限重试,无需retryabletopic注解

问题描述 投票:0回答:1

我们使用 spring Kafka 3.x 并使用 DefaultErrorHandler。 在此处理程序中,我们检查异常是否可重试,然后重试直到 Integer.maxValue,否则将消息放入 DLT 中。 整个想法是对某些异常进行无限次重试,对少数异常进行分布式账本技术。 对于无限重试,我们使用指数退避。 在某些时候,指数回退将超过最大轮询超时。 我想了解当它超过最大轮询间隔时它将如何表现。

根据我的理解,这是一次有状态重试,因为 STCEH 在 Spring Kafka 3.x 中已弃用”

有人可以指导我吗?

java spring spring-kafka kafka-consumer-api
1个回答
0
投票

您需要确保指数回退永远不会超过

max.poll.interval.ms
;否则将强制重新平衡。

即使使用旧的有状态重试机制,情况也是如此;在添加之前,延迟的总和不能超过间隔。

现在(使用任一机制),只有最大延迟必须小于间隔。

© www.soinside.com 2019 - 2024. All rights reserved.