Kafka(文件)数据存储、清理机制、高性能设计

  1. Kafka文件的存储机制

主题 topic - 分区 partition - 分段 segment

每一段有三个文件:

① .index 索引文件

② .log 数据文件

③ .timeindex 时间索引文件

  1. 分段的意义

① 删除无用文件更加方便,提高磁盘的利用率

② 查找数据便捷

  1. 数据清理机制

3.1 根据消息的保留时间,当Kafka中保存的时间超过了指定的时间,就会触发清理过程。

3.2 根据topic存储数据的大小,当topic所占的日志文件大小大于一定的阈值(默认 1 GB),则开始删除最久的消息,需要手动开启。

  1. Kafka 高性能设计

4.1 消息分区: 不受单台服务器的限制,可以不受限的处理更多的数据

4.2 顺序读写: 磁盘顺序读写,提升读写效率(相对于数据随机存放、随机读写而言)

4.3 页缓存(Linux系统): 把磁盘中的数据缓存到内存中,把对磁盘的访问改变为对内存的访问

4.4 零拷贝: 减少上下文切换机数据copy

4.5 消息压缩: 减少磁盘IO和网络IO,但是压缩过程耗费CPU

4.6 分批法送: 将消息打包批量发送,减少网络开销

相关推荐
皮皮林5517 分钟前
Kafka 怎么保证消费只消费一次的?
kafka
茶海棠5 小时前
Hadoop+zookeeper+HBase+Kafka集群搭建全流程
hadoop·zookeeper·kafka·hbase
海棠Flower未眠7 小时前
下单请求处理流程:商品维度分布式锁与 Redis 预扣库存
redis·分布式·junit
罗四强9 小时前
第10篇:打包上架:签名、打包 HAP、发布到华为应用市场
分布式·操作系统·harmonyos·arkts·鸿蒙系统
秋饼9 小时前
Redis 全面解析:从数据结构到主从/哨兵/集群、分布式锁与面试高频考点,代码到原理一次讲透
数据库·redis·分布式·面试·后端开发
二月夜9 小时前
Redis 高频面试题全解:缓存三大问题、大 key 治理与分布式锁之争(2026 招聘 JD 真题复盘)
redis·分布式·后端·缓存
后台模板学习9 小时前
Kafka 与 RabbitMQ 在用户认证与权限管理场景
kafka·rabbitmq·linq
樱花落木兰9 小时前
Redis 消息队列的可靠性演进:从 List、Pub/Sub 到 Stream 消费者组,以及 8.x 版本改变了什么
java·开发语言·经验分享·redis·分布式·python·软件工程
真上帝的左手11 小时前
12. 消息队列-Kafka进阶
分布式·中间件·kafka
Thanks_ks1 天前
Cookie 和 Session 到底是什么关系——登录态是怎么维持的
分布式·http·jwt·cookie·session·后端开发·登录态