Kafka 高可用机制:Broker集群、分区副本、Leader与ISR
2026/6/17 9:05:57 网站建设 项目流程

Kafka 高可用不是简单地“多部署几台机器”。真正让 Kafka 在节点故障后继续服务的是 Broker 集群、Partition 副本、Leader/Follower 复制和 ISR 机制。

一句话概括:Kafka 一个集群由多个 Broker 组成,一个 Topic 拆成多个 Partition,每个 Partition 有多个副本,其中一个 Leader 对外读写,其余 Follower 复制数据;Leader 故障后优先从 ISR 中选出新的 Leader。

Kafka Cluster

Broker 1

Broker 2

Broker 3

P0 Leader

P0 Follower

P0 Follower

ISR

Broker 集群

Kafka 服务端由多个 Broker 进程组成。一个 Broker 挂了,其他 Broker 仍然可以对外提供服务。

Producer

Broker 1

Broker 2

Broker 3

Consumer

但 Broker 集群只是高可用基础。如果某个 Partition 只有一个副本,副本所在 Broker 挂了,这个分区仍然不可用。所以还需要分区副本机制。

分区副本机制

一个 Topic 可以有多个 Partition,每个 Partition 又可以有多个 Replica。

Topic: order-events

P0

P1

P2

P0 Leader on Broker1

P0 Follower on Broker2

P0 Follower on Broker3

每个分区副本中会选出一个 Leader,其他副本是 Follower。

角色作用
Leader对外处理生产和消费请求
Follower从 Leader 拉取数据,保持副本同步

正常情况下,生产者和消费者都和 Leader 交互,Follower 负责复制数据。

Leader 故障后怎么恢复

如果 Leader 所在 Broker 故障,Kafka 会从 Follower 中选出新的 Leader。

Kafka ControllerFollower 2Follower 1P0 LeaderKafka ControllerFollower 2Follower 1P0 LeaderLeader 故障检查是否在 ISR检查是否在 ISR选为新 Leader

这个过程保证了单个 Broker 故障时,分区仍然有机会继续对外服务。

ISR 是什么

ISR 是in-sync replicas,表示和 Leader 保持同步的副本集合。

课件里把副本分成两类:

类型含义
ISR 副本与 Leader 同步较及时,优先参与选主
普通副本落后较多,不能优先保证数据完整

Leader 故障时,Kafka 会优先从 ISR 中选出新的 Leader,因为 ISR 中的副本数据更接近 Leader。

没有

Leader 故障

ISR 中是否有可用副本

从 ISR 选新 Leader

只能从其他副本选或等待恢复

尽量保证数据不丢

可能牺牲一致性或可用性

高可用和可靠性参数的关系

Kafka 高可用和消息可靠性经常一起考。

机制或参数作用
多 Broker避免单点服务不可用
多 Partition提供并行能力,也便于分散到不同 Broker
多 Replica分区数据多副本保存
ISRLeader 故障时优先选同步副本
acks=all等 ISR 副本确认后再向生产者返回成功

如果只有副本但生产者使用acks=1,Leader 收到消息后就返回成功,随后 Leader 宕机且 Follower 还没同步完成,消息仍然可能丢。所以高可靠通常要把副本机制和acks=all放在一起说。

面试回答模板

可以这样答:

Kafka 高可用可以从集群和复制机制两个层面回答。集群层面,一个 Kafka 集群由多个 Broker 组成,某台 Broker 宕机后,其他 Broker 仍然可以对外服务。复制层面,一个 Topic 会拆成多个 Partition,每个 Partition 可以配置多个副本,其中一个是 Leader,负责读写请求,其他是 Follower,从 Leader 同步数据。Leader 所在 Broker 宕机后,Kafka 会优先从 ISR,也就是和 Leader 保持同步的副本集合中选出新的 Leader,从而保证容错和高可用。为了提高消息可靠性,生产者通常还会配置acks=all,让 ISR 副本都确认保存后再返回成功。

小结

Kafka 高可用的主线是:

多 Broker

多分区

多副本

Leader/Follower

ISR 优先选主

把 Broker、Partition、Replica、Leader、ISR 的关系讲清楚,高可用这题就不会散。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询