Kafka 的多副本(Replica)机制是 Kafka 实现 高可用性(High Availability) 和 容错性(Fault Tolerance) 的核心基石。简单来说,它就是把数据多复制几份存放在不同的机器上,当某一台机器宕机时,数据不会丢失,系统依然能正常提供服务。 为了让你深入且系统地理解,我们从核心角色、关键概念、同步原理、故障恢复机制这四个维度来把 Kafka 的副本机制扒得干干净净。 --- 一、 核心角色与基本设定 在 Kafka 中,副本的单位是 Partition(分区),而不是 Topic。一个 Partition 可以有多个副本(Replica Factor,副本因子,通常设置为 3)。 这些副本被分为两类角色: 1. Leader 副本(老大): 负责干活:处理 Producer 的所有写请求,传统情况下也处理 Consumer 的所有读请求(Kafka 2.4 之后支持从 Follower 读,但这主要为了跨数据中心省流量,默认还是 Leader 读写)。 只有它接收外部的请求。 2. Follower 副本(小弟): 只做备份:不处理外部客户...