视频加载失败

Kafka 的分区与副本机制

301 字
2 分钟
Kafka 的分区与副本机制

在 Kafka 中,每个 Kafka 实例称为 Broker,每个 Broker 中可以保存多个 Topic。每个 Topic 可以划分为多个分区,**每个分区保存的数据是不一样的,**这些分区可以在同一个 Broker 中,也可以在散布在不同的 Broker 中。

一个 Broker 可以存储不同 Topic 的不同分区,也可以存储同一个 Topic 的不同分区。

Pasted image 20260701172445.png
Pasted image 20260701172445.png

分区与复制#

主题的每个分区都有至少一个副本,也就是 --replication-factor 参数必须大于 1。副本分为 leader 和 follower 两种,每个副本都需要消耗一个存储空间,leader 对外提供读写消息,而 follower 提供冗余备份,leader 会及时将消息增量同步到所有 follower 中。

在 hello-topic 主题中,当分区只有一个副本时,或只关注 leader 副本时,leader 副本对应的 Broker 节点位置如下:

Pasted image 20260701173450.png
Pasted image 20260701173450.png

如果设置了多个副本( --replication-factor=3 ) 时,leader 副本和 follower 副本的位置如下所示:

Pasted image 20260701173500.png
Pasted image 20260701173500.png

在不同的副本中,只有 leader 副本能够进行读写,follower 接收从 leader 推送过来的数据,做好冗余备份。

Pasted image 20260701173509.png
Pasted image 20260701173509.png
Pasted image 20260701173520.png
Pasted image 20260701173520.png

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

Kafka 的分区与副本机制
https://blog.81vm3.xyz/posts/kafka/
作者
Blume
发布于
2026-01-09
许可协议
CC BY-NC-SA 4.0
Profile Image of the Author
Blume
I build interesting things.
公告
欢迎来到我的博客!
分类
标签
最新动态
站点统计
文章
38
分类
5
标签
98
总字数
23,078
运行时长
0 天
最后活动
0 天前
站点信息
构建平台
Local
博客版本
Firefly v6.16.8
文章许可
CC BY-NC-SA 4.0
文章目录