【发布时间】:2020-05-13 22:06:43
【问题描述】:
我们有几个使用 Spring Boot 和 Spring Cloud Stream Kafka binder 的微服务在它们之间进行通信。
有时,我们会观察到消费者收到大量重复消息 - 通常是在首次消费和处理(成功)之后的几天。
虽然我知道 Kafka 不保证只交付一次,但它看起来仍然很奇怪,因为无论是代理还是服务的日志中都没有重新平衡事件或任何“可疑”活动。由于消费者是在与外部 API 交互,所以要使其具有幂等性有点困难。
任何提示可能是重复的原因?我应该寻找什么来解决这个问题?
我们使用的是 Kafka 代理 1.0.0,而这个特定的消费者使用 Spring Cloud Stream Binder Kafka 2.0.0,它基于 kafka-client 1.0.2(其他服务的版本可能有点不同)。
【问题讨论】:
标签: spring-boot apache-kafka spring-kafka spring-cloud-stream spring-cloud-stream-binder-kafka