Kafka日志

位置

server.properties配置文件中通过log.dir指定日志存储目录

log.dir/{topic}-{partition}

核心文件

.log

存储消息的日志文件,固定大小为1G,写满后会新增一个文件,文件名表示当前日志文件记录的第一条消息的偏移量。

.index

以偏移量为索引来记录对应的.log日志文件中的消息偏移量

.timeindex

以时间戳为索引来记录对应的.log日志文件中的消息偏移量

partition.metadata

记录当前Partition所属的cluster和Topic

leader-epoch-checkpoint

和epoch机制相关

index和timeindex加速读取log消息日志

index和timeindex都是以相对偏移量的方式建立log消息日志的数据索引。比如 0000.index和0550.index中记录的索引数字,都是从0开始的。表示相对日志文件起点的消息偏移量。而绝对的消息偏移量可以通过日志文件名 + 相对偏移量得到。

这两个索引并不是对每一条消息都建立索引。而是Broker每写入40KB的数据,就建立一条index索

引。

Kafka的消费者通过这两个索引能够指定从某一个offset或者某一个时间点读取消息。

相关推荐
love is sour1 分钟前
深入浅出 jmap:Java 内存分析的“显微镜“
java·开发语言·测试工具·性能优化
想用offer打牌3 分钟前
虚拟内存与寻址方式解析(面试版)
java·后端·面试·系统架构
代码or搬砖6 分钟前
SQL核心语法总结:从基础操作到高级窗口函数
java·数据库·sql
月明长歌11 分钟前
【码道初阶】【Leetcode94&144&145】二叉树的前中后序遍历(非递归版):显式调用栈的优雅实现
java·数据结构·windows·算法·leetcode·二叉树
杰克尼32 分钟前
蓝桥云课-5. 花灯调整【算法赛】
java·开发语言·算法
wanghowie33 分钟前
01.02 Java基础篇|核心数据结构速查
java·开发语言·数据结构
乂爻yiyao37 分钟前
java并发演进图
java
java1234_小锋38 分钟前
Redis6为什么引入了多线程?
java·redis
9号达人42 分钟前
支付成功订单却没了?MyBatis连接池的坑我踩了
java·后端·面试
看见繁华1 小时前
C++ 设计模式&设计原则
java·c++·设计模式