栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

面试题:Kafka为什么吞吐量大、速度那么快

面试题:Kafka为什么吞吐量大、速度那么快

Kafka天生的分布式架构

顺序写:Kafka使用了磁盘顺序写来提升的性能。Kafka的message是不断追加到本地磁盘文件末尾的,而不是随机的写入,减少了磁盘寻址的开销

Kafka利用了操作系统自身的内存,Kafka的读写操作基本上是基于内存的,读写速度得到了极大的提升。而不是JVM空间内存,避免GC问题,Java对象的内存消耗比较大

通过 “零拷贝”的机制,Kafka消费端的性能也大幅提升,零拷贝技术,不需要切换到用户态,在内核态即可完成读写操作,零拷贝避免了在内核空间和用户空间之间的拷贝,sendfile方法允许操作系统将数据从Page Cache 直接发送到网络,只需要最后一步的copy操作将数据复制到 NIC 缓冲区

分区分段+索引:Kafka的message是按topic分类存储的,topic中的数据按照一个个的partition存储到不同broker节点,每个分区有分多个segment,Kafka默认为分段后的数据文件建立索引文件。这种分区分段+索引的设计,提高了数据读取的效率,及数据操作的并行度。

对消息批量压缩,减少网络IO损耗

Kafka数据读写是批量的

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/722249.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号