Kafka follower 如何与 leader 同步数据

参考答案

Kafka 的复制机制,既不是完全的同步复制,也不是单纯的异步复制。

  • 完全同步复制,要求 All Alive Follower 都复制完,这条消息才会被认为 commit,这种复制方式极大的影响了吞吐率。
  • 异步复制方式,Follower 异步的从Leader复制数据,数据只要被 Leader 写入 log ,就被认为已经 commit ,这种情况下,如果leader挂掉,会丢失数据。

Kafka 使用 ISR 的方式,确保数据不丢失以及吞吐率。Follower可以批量的从Leader复制数据,而且Leader充分利用磁盘顺序读以及send file(zero copy)机制,这样极大的提高复制性能,内部批量写磁盘,大幅减少了Follower与Leader的消息量差。

以上,是 Kafka 面试题【Kafka follower 如何与 leader 同步数据】的参考答案。

输出,是最好的学习方法

欢迎在评论区留下你的问题、笔记或知识点补充~

—end—

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧