【Kafka】LogSegment

583 阅读1分钟

跳表

Log 使用 SkipList 对 LogSegment 进行管理

key: baseOffset

value: LogSegment 对象

image.png

创建 Log Segment 的条件

  • 当前 Active Segment 的文件大小加上本次待追加的消息集合大小,超过了配置的最大长度。

  • 当前 Active Segment 的寿命超过了配置的最长存活时间。

  • 索引文件大小超过了配置的最大长度

LogSegment 中的文件类型

image.png

Log Index

Kafka 以稀疏索引的方式构造消息的索引

  • Offset Index,建立消息偏移量 offset 到物理地址之间的映射关系。
  • Time Index,记录时间戳和相对偏移量的对应关系。