【发布时间】:2020-08-11 06:23:49
【问题描述】:
我正在使用 Spring boot.Java 8 中的KafkaTemplate
我的主要目标是消费者不应该两次消费消息。
1) 调用表获取100行并发送给kafka
2)假设我处理了 70 行(我得到了成功 ack)然后 Kafka 宕机了(Kafka 没有在 RETRY 机制定时内恢复)
所以当我重新启动 spring boot 应用程序时,我如何确保不再发送这 70 条消息。
一个选项是我可以在 DB 表消息is_sent = Y or N 中有标志。
还有其他有效的方法吗?
【问题讨论】:
标签: java apache-kafka spring-kafka kafka-producer-api