开发者社区> 问答> 正文

Kafka 为什么快?

本问题来自云栖社区【阿里Java技术进阶2群】。https://yq.aliyun.com/articles/690084 点击链接欢迎加入社区大社群。

展开
收起
李博 bluemind 2019-07-05 14:15:43 3402 0
4 条回答
写回答
取消 提交回答
  • Kafka速度的秘诀在于,它把所有的消息都变成一个的文件。通过mmap提高I/O速度,写入数据的时候它是末尾添加所以速度最优;读取数据的时候配合sendfile直接暴力输出。 详细可以参考:https://blog.csdn.net/z69183787/article/details/80323581

    2020-03-31 10:42:32
    赞同 展开评论 打赏
  • 问题太大,简单回答下 日志:日志分段、追加方式,使用顺序IO 读写:批处理 压缩 零拷贝 流处理提供的并发性

    2020-03-25 20:52:17
    赞同 展开评论 打赏
  • 主要是底层读写机制做了一些优化

    2020-03-05 11:40:34
    赞同 展开评论 打赏
  • 这个问题稍微有点广,从high level来说的话,虽然kafka用filesystem作为底层的存储和caching,但是因为使用了sequential IO,在很多情况下,尤其是small size records(1kb的records),能达到非常好的性能。另外建议看一下kafka采用的数据结构,queue(非tree结构)对于messaging system是非常友好的;另外broker里存储的数据格式是binary,所以通过避免serializaion和deserialization也可以获得提速

    2019-07-17 23:38:03
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
消息队列kafka介绍 立即下载
Apache Kafka-and the Rise of 立即下载
消息队列 Kafka 版差异化特性 立即下载