Kafka的复制机制既不是完全的同步复制,也不是单纯的异步复制。完全同步复制要求All Alive Follower都复制完,这条消息才会被认为commit,这种复制方式极大的影响了吞吐率。而异步复制方式下,Follower异步的从Leader复制数据,数据只要被Leader写入log就被认为已经commit,这种情况下,如果leader挂掉,会丢失数据,kafka使用ISR的方式很好的均衡了确保数据不丢失以及吞吐率。Follower可以批量的从Leader复制数据,而且Leader充分利用磁盘顺序读以及send file(zero copy)机制,这样极大的提高复制性能,内部批量写磁盘,大幅减少了Follower与Leader的消息量差。

相关文章:

  • 2021-10-06
  • 2021-07-01
  • 2022-12-23
  • 2021-11-11
  • 2022-01-29
  • 2021-10-16
  • 2022-01-01
  • 2021-08-10
猜你喜欢
  • 2021-12-08
  • 2021-08-19
  • 2021-06-14
  • 2021-07-09
  • 2021-08-15
相关资源
相似解决方案