Skip to content

EDM 实践指引(Adam Bellemare)

按概念递进,不按原书章节——读者认知路径:先懂"为什么",再懂"是什么",再懂"怎么做"。

原书 17 章被重新组织为 10 个概念层(E1-E10)。每层融合多章内容,按"读者什么时候需要这个概念"排序。

一、为什么 EDM 不是按章节读

原书章节顺序的局限

  • Bellemare 的章节是为"已懂事件驱动的人写的"
  • ch09 看似讲 BC 边界,实际是 FaaS 章节
  • ch13 看似讲自治事件,实际含实时查询
  • 17 章 Part I-IV 主题分组对初学者仍然过细

概念递进的设计

  • 10 层从浅到深
  • 后一层引用前一层,但不依赖后一层
  • 每层有完整 9 段范本

二、概念递进 10 层

标题回答什么问题融合的 EDM 章
E1入门:为什么事件驱动微服务解决什么?什么时候用?ch01
E2微服务基础:拓扑 + 事件类型 + Single Writer微服务是什么?事件 3 类型?ch02
E3通信契约:Schema + 演化跨服务怎么通信?ch03
E4集成老系统:CDC + 妥协旧系统怎么接入?ch04 + ch10
E5处理基础:转换 + 确定性流怎么处理?ch05 + ch06
E6状态物化状态怎么管理?ch07
E7跨服务工作流跨服务业务怎么做?ch08
E8部署 + FaaS + 集群架构怎么部署?ch09 + ch11 + ch14 + ch16
E9流处理框架与实时查询用什么框架?ch12 + ch13
E10测试与总结怎么测试?ch15 + ch17

三、当前已落地

状态路径
E1 入门✅ mature/book-guides/event-driven/e1-getting-started
E2 微服务基础✅ mature/book-guides/event-driven/e2-microservice-basics
E3 通信契约✅ mature/book-guides/event-driven/e3-communication-contracts
E4 集成老系统✅ mature/book-guides/event-driven/e4-integrating-legacy
E5 处理基础✅ mature/book-guides/event-driven/e5-processing-basics
E6 状态物化✅ mature/book-guides/event-driven/e6-state-materialization
E7 跨服务工作流✅ mature/book-guides/event-driven/e7-cross-service-workflows
E8 部署 + FaaS + 集群架构✅ mature/book-guides/event-driven/e8-deployment-faas-cluster
E9 流处理框架与实时查询✅ mature/book-guides/event-driven/e9-streaming-realtime
E10 测试与总结✅ mature/book-guides/event-driven/e10-testing-conclusion

四、每层范本(9 段)

每层文档按以下 9 段展开:

  1. # 章节名
  2. ## 一句话 —— 一句话总结本章核心
  3. ## 这本书在这一层说了什么 —— 融合多章的核心论点
  4. ## 是什么 —— 概念定义(忠实原书)
  5. ## 为什么 —— 为什么要这个(书里的理由)
  6. ## 怎么做 —— 工程可执行步骤(来自书)
  7. ## 什么时候用 / 什么时候不用 —— 实践判断
  8. ## 看不见的地方 —— 失效模式
  9. ## 相关节点 —— 骨架 A/B 节点映射

五、与其他实践指引的关系

IDDD(DDD 战略战术)
  ↓ 领域事件 + 集成 BC
EDM(事件驱动基础设施)
  ↓ Schema 演化 + Saga + CDC
  ├── 工程层:单写者 + 拓扑 + 框架选型
  └── 哲学层:涌现 + 解耦 + 自治

互补关系

  • IDDD L4 上下文映射 ↔ EDM E4 CDC + E7 Saga
  • IDDD L6 聚合 ↔ EDM E2 Single Writer
  • IDDD L8 跨 BC 集成 ↔ EDM E8 混合架构
  • IDDD L3 BC ↔ EDM E3 Schema 演化

六、原书 17 章与 10 层映射

原书章主题归属 E 层
ch01Why Event-Driven MicroservicesE1
ch02Event-Driven Microservice FundamentalsE2
ch03Communication and Data ContractsE3
ch04Compromises for Data Liberation (CDC)E4
ch05TransformationsE5
ch06Synchronizing Distributed TimestampsE5
ch07Materializing Global StateE6
ch08Choreography / Orchestration / SagaE7
ch09FaaS + BC 成员E8
ch10Integration with LegacyE4
ch11集群架构(Hosted / Cluster / CMS)E8
ch12Lightweight FrameworkE9
ch13自治事件 + 反应事件 + 实时查询E9
ch14基础设施程序化E8
ch15TestingE10
ch16CI/CD + 部署E8
ch17ConclusionE10

七、与 V2 EDM 实践指引的关系

V2 时期(meta/source/event-driven/)按章节顺序写,每章 70-120 行。

V4 概念递进 vs V2

  • V2 = 17 文件 / 1688 行 = 平均 99 行/章
  • V4 = 10 文件 / ~13000 行 = 平均 1300 行/层

每层提升:13 倍深度(基于原书精读 + 概念重组 + 9 段范本)。

从名家方法论与工程化思路中蒸馏出自己的工程体系。