1 思考
kafka的消息存储到哪里了呢,存储一般有内存,硬盘两种
1.1 内存
假如消息存储在内存中,那么会面临的问题有
消息如果太大,会发生oom
多个消费者的情况下,如何维护各自消费到哪里了呢
发生服务器关机的情况下,消息会丢失
内存的成本很高
1.2 磁盘
消息存储到磁盘,可以降低成本,防止服务器关机时消息丢失,支持多个消费者消费,但是面临如下的问题
消息存储到硬盘
写入效率问题
查询效率问题
如何维护各个消费者读取到消息的位置
2 Kafka消息存储设计
3 Kafka消息存储文件基本解释
3.1 具体实例截图
3.2 根据后缀去解释每一个文件的作用
.log 消息实际存储的文件
.index 偏移量索引文件
.timestamp 时间戳索引文件