从Kafka文件存储机制和物理结构角度,分析Kafka是如何实现高效文件存储,及实际应用效果。
相关
在美团上看到一个介绍Kafka 文件存储机制的文章感觉挺好的,适合新手阅读。
PS:链接中说segment文件命名规则是19位数字字符长度,本人查看已部署的kafka服务确认为20个字符长度
特点
Kafka高效文件存储设计特点
- Kafka把topic中一个parition大文件分成多个小文件段,通过多个小文件段,就容易定期清除或删除已经消费完文件,减少磁盘占用。
- 通过索引信息可以快速定位message和确定response的最大大小。
- 通过index元数据全部映射到memory,可以避免segment file的IO磁盘操作。
- 通过索引文件稀疏存储,可以大幅降低index文件元数据占用空间大小。