写点什么

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

  • 2022 年 1 月 04 日
  • 本文字数:474 字

    阅读完需:约 2 分钟

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


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


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


​​博主简介:国内最大最权威的 Kafka 中文社区,共享知识,实时掌控最新行业资讯

技术交流:请联系博主微信号:didiyun0125

社区地址:免费加入中 ~



发布于: 2 小时前
用户头像

还未添加个人签名 2021.12.13 加入

还未添加个人简介

评论

发布
暂无评论
Kafka原理——Kafka为何如此之快?