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

相关推荐
WaaTong8 分钟前
《重学Java设计模式》之 原型模式
java·设计模式·原型模式
m0_743048448 分钟前
初识Java EE和Spring Boot
java·java-ee
AskHarries10 分钟前
Java字节码增强库ByteBuddy
java·后端
小灰灰__30 分钟前
IDEA加载通义灵码插件及使用指南
java·ide·intellij-idea
夜雨翦春韭34 分钟前
Java中的动态代理
java·开发语言·aop·动态代理
程序媛小果1 小时前
基于java+SpringBoot+Vue的宠物咖啡馆平台设计与实现
java·vue.js·spring boot
追风林1 小时前
mac m1 docker本地部署canal 监听mysql的binglog日志
java·docker·mac
芒果披萨1 小时前
El表达式和JSTL
java·el
duration~2 小时前
Maven随笔
java·maven
zmgst2 小时前
canal1.1.7使用canal-adapter进行mysql同步数据
java·数据库·mysql