恢复这里是我的问题,卡夫卡:卡夫卡 - 爪哇 - 从crashs
我有两个方案交换与卡夫卡的数据(一个是生产,另一个正在读)。假设客户崩溃。制作人将继续发送信息,过了一段时间后,我们将重新启动客户。
以我们现在的经纪人设置,这里是什么是应该发生的:
- 如果事故发生不到1天前(如offsets.retention.minutes为1440),偏移被检索,等待的消息将被处理。
- 如果碰撞发生的时间超过1天,客户的新偏移将最早重置(如auto.offset.reset最早)。问题是:如果一些消息已经被处理(在1天和7天之间),它们将会再次,因为Kafka保存7天的消息(log.retention.hours是168)。
是对溶液那样简单既offsets.retention.minutes和log.retention.hours设定为相同的值(当然,执行转换分钟< =>小时)?或者它会产生一些我错过的副作用?一个更简单的解决方案就是删除已经处理的消息,但似乎卡夫卡不能这样做。
感谢您的阅读。