kafka controller
1 分区和副本
一个topic有多个分区,
一个分区有多个副本,
副本负责保证分区的高可用,
副本中有一个为leader,
发送消息和接受消息都是从leader上进行的。
2 controller
controller只在一个broker上,
broker启动时会向ZK创建临时序号节点,最小的序号的broker作为controller。
- controller负责选举leader
leader本身在Isr的第一位。
当leader挂掉后,controller会将Isr里的下一个副本选举为新的leader。
- 当Isr发生变化时,会通知所有的broker更新元数据信息。
比如添加新的broker或者有broker挂掉了,这时候controller会去通知所有broker更新数据。
- 当出现新分区时通知所有broker
topic增加分区数时,controller也会发起通知,告诉所有broker分区数增加。
2.1 Isr
记录所有可选举为leader的副本。
Kafka 分区与副本机制
本文介绍 Kafka 中分区和副本的工作原理。分区用于水平扩展,每个分区有多个副本保证高可用,其中一个副本为 leader 负责消息的读写。controller 在 broker 中选举产生并负责管理 leader 的选举及元数据的更新。
1753

被折叠的 条评论
为什么被折叠?



