Kafka原理——Kafka为何如此之快?

我们都知道操作系统每次从磁盘读写数据的时候,需要先寻址找到数据在磁盘上的物理位置,然后再进行数据读写,如果是HDD硬盘,由于它要移动磁头,所以这个寻址需要较长时间,如果数据是按照顺序读写,它只要寻址一次,就可以连续读写下去,这样就会省去大部分寻址时间,因此性能会比随机读写提升几十倍,如果是SSD硬盘顺序读写的性能要比随机读写快几倍

而Kafka充分利用磁盘的这个特性,它接收消息后,就按顺序地写入对应分区的log文件中,一个文件写满了,就开启一个新的文件顺序写下去。当消费数据时,就从某个log文件中的某个位置开始,顺序把消息读出来,这种设计几乎可以媲美内存的随机访问

另外Kafka还利用操作系统的PageCache机制,在内存中给磁盘上的文件建立缓存,当程序在调用系统API读写文件时,可以直接读取内存中缓存的log文件副本,这无异是给消息读写又加了一个涡轮增压。因而Kafka从发布之后就一发不可收拾,牢牢盘踞数据集成传输的头把交椅,时至今日 

国内最大最权威的 Kafka中文社区 ,在这里你可以结交各大互联网Kafka大佬以及近2000+Kafka爱好者,一起实现知识共享,实时掌控最新行业资讯,免费加入中~

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值