kafka为什么快?
kafka为什么快?
转自 https://zhuanlan.zhihu.com/p/78335525
首先要有个概念,kafka高性能的背后,是多方面协同后、最终的结果,kafka从宏观架构、分布式partition存储、ISR数据同步、以及“无孔不入”的高效利用磁盘/操作系统特性,这些多方面的协同,是kafka成为性能之王的必然结果。
本文将从kafka零拷贝,探究其是如何“无孔不入”的高效利用磁盘/操作系统特性的。
先说说零拷贝
零拷贝并不是不需要拷贝,而是减少不必要的拷贝次数。通常说的是IO读写过程中。
Kafka总结
总的来说Kafka快的原因:
- partition 顺序 读写,充分利用磁盘特性,这是基础;
- Producer生产的数据持久化到broker,采用 mmap文件映射,实现顺序的快速写入;
- Customer从broker读取数据,采用sendfile,将磁盘文件读到OS内核缓冲区后,直接转到socket buffer进行网络发送。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律