ApacheKafka—清理处于错误状态的数据的过程

h5qlskok  于 2021-06-06  发布在  Kafka
关注(0)|答案(1)|浏览(263)

我知道主题是不变的。
假设你的主题状态不好。数据段出现故障、重复记录等。清除这些数据的过程是什么?这一过程对下游消费者有何影响?
我看到了几种不同的处理方法:
消费者不会听第一个主题,而是听一个干净的衍生产品。
设置主题的版本,并使用应用的重复数据消除逻辑重写数据。然后让消费者改变他们听的主题。但后来我遇到了这样一种情况:记录要么被缓冲,要么与旧记录交织,而新记录不断出现。
处理这种情况的其他方法是什么?

hs1ihplo

hs1ihplo1#

听起来数据流架构不是幂等的。Kafka从不乱序或复制数据,制作人会有问题。kafka会在保留期后自动从主题中删除数据,所以如果您只担心现有数据,请等到该保留期后再进行清理。一旦kafka删除了数据,就必须设置读取滞后的任何消费者(即,希望从已删除的偏移量读取) auto.offset.resetearliest 或者 latest 否则消费者将发出 OffsetOutOfRange 错误。
同时,如果您可以跳过记录并使用 consumer.seek(partition, offset) 解决方案将取决于您的业务逻辑和传入的数据模式,但您最好解决生产者问题,而不是在消费者中处理它。

相关问题