Kafka速度的秘诀在于,它把所有的消息都变成一个的文件。通过mmap提高I/O速度,写入数据的时候它是末尾添加所以速度最优;读取数据的时候配合sendfile直接暴力输出。 详细可以参考:https://blog.csdn.net/z69183787/article/details/80323581
问题太大,简单回答下 日志:日志分段、追加方式,使用顺序IO 读写:批处理 压缩 零拷贝 流处理提供的并发性
这个问题稍微有点广,从high level来说的话,虽然kafka用filesystem作为底层的存储和caching,但是因为使用了sequential IO,在很多情况下,尤其是small size records(1kb的records),能达到非常好的性能。另外建议看一下kafka采用的数据结构,queue(非tree结构)对于messaging system是非常友好的;另外broker里存储的数据格式是binary,所以通过避免serializaion和deserialization也可以获得提速
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。