卡夫卡|如何使用copy.high.watermark.checkpoint.interval.ms

时间:2018-07-30 11:08:33

标签: apache-kafka

我一直在寻找减少重复或完全消除重复的方法,而我发现这是一个有趣的属性

$env_sam_id
  

高水印保存到磁盘的频率

我正在经历随机的link ,它说,

  

replica.high.watermark.checkpoint.interval.ms属性可能会影响吞吐量。同样,我们可以标记从分区读取时读取信息的最后一点。这样,我们有了一个检查点,如果我们必须返回并找到丢失的数据,则可以从该检查点继续前进,而不必重新读取先前的数据。因此,如果我们为每个事件设置检查点水印,我们将永远不会丢失任何消息。

首先,所以我的问题是如何使用copy.high.watermark.checkpoint.interval.ms和

第二,有什么方法可以使用此属性减少重复项?

1 个答案:

答案 0 :(得分:1)

据我所知,高水位标记表示消费者可以看到的最后一条记录,因为这是为该分区完全复制的最后一条记录。这似乎表明它是用来防止消费者使用尚未在其所有经纪人之间完全复制的记录的,这样您就不会使用可能最终丢失并导致不良状态的内容。

更改此更新的间隔似乎并不会减少消息重复。但是,这可能会对性能产生轻微的影响(较小的间隔=更多的磁盘写入)。

为了减少重复,我可能会看看0.11中引入的Kafka exactly-once semantics