【发布时间】:2020-01-15 12:33:01
【问题描述】:
我正在使用 Spring Kafka 与我的 Kafka 实例进行交互。假设我有一个主题,比如 2 个以上的分区。
例如,在我的基于 Spring Kafka 的应用程序崩溃(甚至重新平衡),然后重新联机并且主题中有消息等待的情况下,我目前使用的策略是最新提交的偏移量对于每个分区都存储在外部存储中,然后我查找消费者对分区的分配,然后寻找该偏移量以恢复处理。
(这是基于我在 O'Reilly 的书中读到的策略。)
是否有更好的方法来处理这种情况以实现“恰好一次”语义并且不会错过任何等待消息?或者 Spring Kafka 是否有更好/更惯用的方式来处理这种情况?
提前致谢。
【问题讨论】:
-
你尝试过使用Kafka的幂等生产者/消费者事务设置吗?