Kafka日志

位置

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

log.dir/{topic}-{partition}

Kafka日志_第1张图片核心文件

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

你可能感兴趣的:(java)