Ch09-Kafka 之高可用

Ch09-Kafka 之高可用

March 20, 2019
Apache Kafka
kafka

kafka HA

1. 分区副本机制 #

同一个 partition 使用多个 replica,并从中选出一个 leader,producer 和 consumer 只与这个 leader 交互,其它 replica 作为 follower 从 leader 中复制数据。如果 replica 挂了,那么 leader 继续对外保证服务。如果 leader 挂了,那么尝试这从 replica 中选举 leader 对外提供服务。

2. Broker #

如果 Broker 宕机,那么 Controller 借助 Zookeeper 感知到该 Broker 宕机,然后 Controller 会对该 Broker 上的所有 partition 进行处理(比如重新选举 leader 等)

3. Controller #

当 Controller 宕机时会触发 Controller failover,重新开始 Controller 的选举,选举成功后触发 KafkaController##onControllerFailover 完成 epoch id 自增,zookeeper watcher 注册等。

4. 参考文献 #