集群成员关系

控制器
- 控制器的作用: 除具有一般broker的功能之外,还负责分区首领的选举
- 控制器的选举: 各broker向ZK中/controller注册临时节点
- 分区首领的选举: broker加入时,同步副本;broker离开时,选举新的分区首领
分区复制
- 首领副本 :每个分区都有一个首领副本。首领副本负责处理理所有生产者和消费者的请求
- 跟随者副本:首领以外的副本都是跟随者副本。跟随者副本不处理理来自客户端端请求,它们唯一的任务就是从首领那里负责消息,保持与首领一致的状态。
- AR:Assigned Replicas,所有副本
- ISR:In-Sync Replicas,已同步的副本
- OSR:Out-Of-Sync Replicas,掉队的副本
- AR = ISR + OSR
物理存储
- Kafka会将数据持久化到文件,文件目录以分区来组织,每个分区下有多个文件,每个文件称作一个片段,每个片段包含1G或一周的数据,以较小的值为准。
- 保留策略:数据被删除之前可以保留多长时间,或者清理数据之前可以保留的数据量大小。
- 3类文件:数据文件、索引文件、时间索引文件。
基本概念

刷盘

文件滚动

- 默认情况下,每个片段包含1G或7天的数据,以较小的值为准;如果达到片段上限,就关闭当前文件,并打开一个新文件
数据清除策略
- log.cleanup.policy:⽇志清除策略(delete/compact)
- log.retention.bytes:⽇志保留量
- log.retention.hours:⽇志保留时间
索引
- 3步定位message
1)⼆二分查找index file
2)通过index file定位物理理地址
3)顺序扫描 segment file
- 稀疏索引 vs. 稠密索引
消息格式

相关文章:
-
2021-04-19
-
2020-04-01
-
2021-04-12
-
2021-11-02
-
2021-07-20
-
2021-10-17
-
2021-07-15
猜你喜欢
-
2021-05-04
-
2021-05-30
-
2021-07-11
-
2021-09-09
-
2021-12-20
相关资源
-
下载
2022-12-08
-
下载
2022-12-31
-
下载
2023-03-20
-
下载
2023-01-05