这是一个非常经典的 Kafka 面试题,涉及到 Kafka 的高可用机制、ISR(In-Sync Replicas)集合以及 Producer 的 配置。 结论先行: 1. 挂了一台 Broker 时:Producer 还能正常写。 2. 再挂一台 Broker 时(共挂了 2 台):Producer 能否写入取决于其 参数的配置。如果 ,则不能写;如果 或 ,则能写。 下面为你详细剖析原因: 核心前置概念 Replication Factor = 3:Topic 的数据有 3 个副本(1 个 Leader,2 个 Follower)。 ISR (In-Sync Replicas):与 Leader 保持同步的副本集合。正常情况下,3 个副本都在 ISR 中(ISR = 3)。 min.insync.replicas = 2:这是 Broker 端的配置,意思是当 Producer 设置 (或 )时,必须至少有 2 个副本(包含 Leader 在内)成功写入,这次写入才算成功。注意:这个参数只在 时生效! --- 场景一:挂了一台 Broker 假设集群完全健康时,ISR 集合里...