一、基础核心分区副本机制Topic 会划分多个 Partition 分区每个分区配置多个副本replica副本分散部署在不同 Broker 节点避免单节点故障丢失数据。副本分两类角色Leader 副本所有生产者写入、消费者读取只走 LeaderFollower 副本仅同步 Leader 的数据不处理客户端读写请求。写入数据时Leader 把日志同步给所有 Follower通过 ack 机制控制同步多少副本才算写入成功。二、核心容错ISR 同步副本集合重中之重ISR 全称 In-Sync Replicas指和 Leader 保持实时同步、无数据滞后的副本集合。ISR 准入规则Follower 定期向 Leader 发送拉取请求如果长时间没同步上超出replica.lag.time.max.ms会被踢出 ISR追上数据后重新加入。ISR 高可用价值只有 ISR 内的副本才有资格被选举为新 Leader写入配置 acksall 时必须等待所有 ISR 副本落盘才算消息写入成功极大降低丢数据概率杜绝数据不一致副本上位保证新 Leader 拥有完整已提交数据。三、Leader 宕机自动故障转移流程分区 Leader 所在 Broker 宕机、断网Controller 控制器感知节点下线找到该分区 ISR 集合里存活的副本从 ISR 中选举一个 Follower 作为新 Leader生产者、消费者自动重连新 Leader业务无感知恢复读写故障节点恢复上线后作为 Follower 同步缺失日志重新加入 ISR。补充 Controller 高可用集群一台 Broker 作为 Controller负责分区 Leader 分配、故障调度Controller 宕机集群自动重新选举新 Controller无单点问题。四、生产者侧高可靠防止消息丢失 / 重复通过 acks 参数控制写入可靠性三个档位acks0不等 Broker 响应吞吐最高极易丢消息生产禁用acks1默认Leader 写入本地磁盘即返回Leader 刚写完未同步 Follower 就宕机会丢消息acksall /acks-1等待所有 ISR 副本同步完成再返回数据安全性最高金融、订单业务必用。配套保障生产者重试 retries网络抖动发送失败自动重试幂等生产者 事务避免重试造成消息重复支持跨分区原子写入。五、消费者侧高可靠防止消息重复、丢失位移 offset 持久化到__consumer_offsets 内部 Topic多副本Broker 宕机位移不丢失手动提交 offset业务处理完成再提交防止消费中途宕机丢失消息消费组均衡机制Consumer 宕机组内其他消费者自动分配其分区不会阻塞消费配合重试 Topic 处理消费失败消息避免无限阻塞分区。六、底层磁盘持久化兜底Kafka 消息直接顺序写入磁盘文件而非依赖内存机器重启数据不丢失日志分段存储支持定期清理过期数据刷盘策略可配置同步刷盘进一步降低内存丢数据风险默认操作系统页缓存异步刷盘性能更高。七、生产避坑点面试实战加分副本数量建议 3 个ISR 至少保留 2 个节点允许单台 Broker 故障不要把同一分区的多个副本部署在同一台机器失去副本意义高可靠业务必须配置 acksall搭配足够的 ISR 副本分区扩容可横向提升吞吐天然支持集群水平扩展。简短精简总结Kafka 高可用核心依靠分区多副本 ISR 同步集合Leader 故障自动从 ISR 选举新主Controller 统一调度集群故障生产者通过 acks、幂等事务保证写入可靠消费者 offset 持久化到内部多副本 Topic 防止丢消费位点数据顺序落盘磁盘兜底整套机制保证节点宕机不丢消息、业务快速恢复。