全书概览
| 项目 | 内容 |
|---|---|
| 书稿 | 《Java 消息中间件·事件驱动架构》 |
| 篇数 | 50 篇(15 章 45 节 + 序、前言、目录 + 附录 A/B) |
| 领域 | 事件建模、CQRS、一致性与补偿、Kafka Streams、可观测与治理、架构验收 |
| 贯穿项目 | libraryd-mq —— 借阅、归还、预约、库存调整四类事件的完整链路 |
| 主线版本 | JDK 25 LTS(Temurin 25.0.5+8)、Kafka 4.3.0(KRaft only)、kafka-streams 4.3.0 |
| 上级专题 | 书稿专题 |
三卷分工
| 卷 | 书名 | 关注点 |
|---|---|---|
| 卷一 | 《Java 消息中间件·Kafka 内核与客户端》 | 一条消息从 send 到落盘发生了什么 |
| 卷二 | 《Java 消息中间件·可靠消息与消费治理》 | 怎么做到不丢、不重、可恢复、可治理 |
| 卷三 | 本卷 | 怎么用事件设计系统 |
本卷只讲架构:机制归卷一,可靠性配置归卷二。凡是要展开 acks、ISR、位移细节的地方,一句话引用卷一,不重写。
五部分与十五章
| 部分 | 章节 | 回答的问题 |
|---|---|---|
| 第一部分 范式 | 第 1–3 章 | 什么时候该用事件?事件怎么建模?CQRS 的边界在哪? |
| 第二部分 一致性与演进 | 第 4–6 章 | 跨服务怎么一致?顺序与并发怎么处理?契约怎么演进? |
| 第三部分 流处理 | 第 7–9 章 | Streams 的拓扑、流表模型、作业怎么运维? |
| 第四部分 可观测性与治理 | 第 10–12 章 | 事件流怎么监控?平台怎么治理?怎么从现状迁移? |
| 第五部分 案例与验收 | 第 13–15 章 | 完整链路长什么样?不同场景怎么选?上线判据是什么? |
章节主题
| 章 | 主题 |
|---|---|
| 1 | 三种交互:事件、命令与查询 |
| 2 | 事件建模:识别、边界与目录 |
| 3 | CQRS:读模型、投影与重建 |
| 4 | 一致性:分布式事务、本地消息表与补偿 |
| 5 | 顺序与并发 |
| 6 | 契约演进 |
| 7 | Streams 基础 |
| 8 | 流表模型 |
| 9 | 流作业运维 |
| 10 | 可观测 |
| 11 | 平台治理 |
| 12 | 方法与迁移 |
| 13 | libraryd 全链路 |
| 14 | 场景对照 |
| 15 | 上线与验收 |
阅读方式
三条路径:
- 架构师:序 → 第 1–3 章 → 第 13–15 章,先建立判断,再看完整案例与验收判据。
- 开发:前言 → 第 2–4 章 → 第 7–9 章,重点在事件契约、投影与 Streams 拓扑的可运行代码。
- 评审:目录 → 第 10–12 章 → 第 14–15 章,用场景对照表和上线判据做设计评审的检查表。
与卷二的关系
卷二结束在「一条链路能不能上线」。卷三从这里接手,回答「几十条链路、几百个消费者、跨多个集群时,事件流本身怎么治理」。
卷二留下的四个缺口会在这里展开:跨集群语义、业务幂等的容量模型、契约治理的组织方式、长尾故障的观测。卷二验收单里的判据,在卷三会变成架构设计的前置条件。
写作状态
本卷正文正在写作中。逐篇目录与章节内链接会在正文落盘后补全,本页的章节结构以最终成书为准。