本篇文章介绍kafka的物理存储、分区分配、文件管理、文件格式、索引、清理文件、删除事件和清理主题。
一.物理存储
分区是kafka的基本存储单元,分区无法在多个broker间进行再细分,也无法在同一个broker的多个磁盘上进行再细分。
二.分区分配
1:分区分配策略:
- broker间平均分配分区副本 ;
- 确保每个分区的每个副本分布在不同的broker上;
- 如果为broker指定了机架信息,那么尽可能把分区的副本分配到不同的机架的broker上;
2:假设存在5个主题,复制系数为3,broker个数为4,分配后的一种结果如下所示:
3:新增分区策略:新的分区总是被添加分区数量最小的那个目录里。
三.文件管理
1:数据保留期限:
- 规定数据被删除之前保留多长时间;
- 规定数据被删除之前可以保留的数据大小;
2:片段:
- 在一个文件里查找和删除消息是费事的,也容易出错,所以把分区分成若干个片段
- 默认情况下,每个片段包含1GB或一周的数据,以较小的那个为准
四.文件格式
1:文件(普通消息ÿ