kafka文件存储机制

前言

我们知道,生产者发送给kafka的数据肯定是需要存储的,存储意味着数据落盘,但是这个数据存储的结构是怎样的呢?

不妨先来了解下kafka文件存储机制

  • Topic是逻辑上的概念,而partition是物理上的概念,每个partition对应于一个log文件,该log文件中存储的就是Producer生产的数据;
  • Producer生产的数据会被不断追加到该log文件末端,为防止log文件过大导致数据定位效率低下,Kafka采取了分片和索引机制,将每个partition分为多个segment;
  • 每个segment包括:“.index”文件、“.log”文件和.timeindex等文件。这些文件位于一个文件夹下,该文件夹的命名规则为:topic名称+分区序号,例如:first-0;

总体的文件结构如下图所示:

kafka文件存储机制_第1张图片

对上面的文件结构再做几点补充说明:

  • 一个partition分为多个segment
  • .log 日志文件  .index 偏移量

你可能感兴趣的:(kafka,入门到精通,kafka)