KEEL · 龙骨 · A CURRICULUM FOR THE AI ERA

Kafka 工程课:提交日志、副本与事务 — keel 龙骨

Kafka 工程课:提交日志、副本与事务 的参考信息:Kafka 工程课:提交日志、副本与事务

Kafka 的难点不在「怎么发一条消息」,而在发出去之后你以为的事实和集群里真实发生的事对不上:同一个 key 的消息为什么全挤在一个分区、副本掉了一个之后 acks=all 到底还等谁、消费组重平衡时那几秒消息到底有没有人消费、事务提交的位点和写出的结果是不是同一件事。这些问题在文档里都有一句结论,但结论后面的边界才是踩坑的地方。

这门课把 Kafka 单独讲透:从提交日志的物理形态(分区 / 段 / 稀疏索引)、副本与 ISR 的维护、生产者的确认与顺序、消费组再平衡,一直讲到事务怎么做 read-process-write、积压怎么算。每一章的结论都用本机 4.1.2 三节点集群跑出来的原始输出支撑,包括我停 broker 时真实拿到的 NotEnoughReplicasError、RequestTimedOutError,以及一次缩副本把 broker 搞挂的事故。

如果你在 《可扩展性》05 章 · 消息队列 里已经看过「什么场景该上 MQ」的选型概览,这门课是它的下一层:不再比 RabbitMQ 和 Kafka 谁更合适,而是把 Kafka 自己的存储、副本、事务语义逐个拆开。

开始阅读:课程导读

进入 keel 阅读