(4)Kafka高效读写原理、选举过程和事务实现
1.Kafka高效读取数据
(1)顺序写入磁盘
kafka的broker收到producer数据时,以log文件尾部追加方式顺序写入。顺序写入大于随机写入效率在于,省去了大量磁头寻址时间。
一
次完整的输入输出(IO)操作的时间=磁盘轴旋转时间(旋转延迟)+磁盘臂移动时间(寻道时间)+数据传输时间
。三者所需时间的平均经验值为:
0.004秒、0.008秒和0.0005秒。所以,
一次完整的IO时间的经验值是0.0125秒,即1/80秒。
因为磁盘的盘片可分为多个扇区,顺序写只需要磁头随着磁盘顺序旋转即可,而随机
写可能需要寻道,还要旋转道跨越多个扇区。
(2)零复制技术
Kafka利用OS内核功能,减少了数据拷贝的次数,避免了CPU进行不必要的数据拷贝。
参考:
掘金
2.Zookeeper实现Kafka leader选举
(1)
共有 0 条评论