高水位(High Watermark):Kafka 中非常重要的概念,也是各路面试官的青睐之选。

高水位是什么?

什么是高水位

高水位(High Watermark)在 Kafka 中用于标识已提交消息的位置。

为什么需要高水位

  • 解决消息可见性的问题。
    • 可以类比 Flink 中的 watermark,标识某一时刻之前的消息都已到达。
  • 帮助完成副本同步
    • 没有会对同步造成什么问题?

image.png

副本同步机制

较为复杂且冗余,如果我来设计会有什么更好的方案么?