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或者某一个时间点读取消息。

相关推荐
Flittly11 小时前
【AgentScope Java新手村系列】(16)从RAG到多路检索
java·spring boot·spring
小兔崽子去哪了11 小时前
Java 生成二维码解决方案
java·后端
人活一口气16 小时前
从JVM调优到MCP协议:Java全栈技术体系深度总结与企业级架构实践
java·spring boot
NE_STOP18 小时前
Vibe Coding -- 完整项目案例实操
java
荣码18 小时前
GraphRAG:普通RAG只能回答"点"的问题,我踩了4个坑才搞懂
java·python
SimonKing18 小时前
Google第三方授权登录
java·后端·程序员
明月光81818 小时前
从一行 @Builder 说起:重新拾起 Java 的 Lombok、注解与 Builder 模式
java
考虑考虑1 天前
Mybatis实现批量插入
java·后端·mybatis
咖啡八杯1 天前
GoF设计模式——中介者模式
java·后端·spring·设计模式
青石路1 天前
记一次多JDK版本问题的排查,一坑套一坑,差点没爬上来
java