几周前,我的项目被更新为使用Kafka 3.2.1,而不是使用Spring 2.7.3 (3.1.1)附带的项目。我们进行这一升级是为了避免Kafka流中的一个问题--非法状态和参数异常不会在未被处理的异常处理程序中结束。在消费者方面,我们也转移到合作粘性分配。
同时,我们启动了一些弹性测试,并且开始出现使用Kafka批处理侦听器时不再在某些分区上使用的Kafka记录的问题。这个问题发生在测试引起的几次重新平衡之后(部署在Kubernetes中,我们停止了一些荚、微服务和代理实例)。这个问题不是每个听众都能听到的。卡夫卡的经纪人和微型服务已经开始运作。
在我们的调查中,
我们启用了assigned.
在Spring / Kafka 2.7.3/2.8.8中是否有使用Kafka 3.2.1的阻塞点?
欢迎任何帮助或其他建议来推动我们的调查工作。
发布于 2022-09-05 10:15:43
定义了
多个侦听器,重试似乎是从另一个侦听器(共享错误处理程序?)触发的。
这是一个已知的bug,在下一个版本中修复:
https://github.com/spring-projects/spring-kafka/issues/2382
https://github.com/spring-projects/spring-kafka/commit/3de1e89ba697ead04de171cfa35273bb0daddbe6
临时工作是为每个容器提供自己的错误处理程序。
https://stackoverflow.com/questions/73571243
复制相似问题