Skip to content

EDM 实践指引

这是"把书的内容展开成工程可执行"——不是读书笔记合集,是事件驱动微服务的工程落地指引。

17 章按 Bellemare 原书顺序排列,每章展开为:原书说了什么 / 是什么 / 为什么 / 怎么做 / 何时用不用 / 失效模式 / 相关节点。

〇、实践指引定位

"实践指引"与"主题案例库"的区别

维度实践指引(book-guides/)主题案例库(modeling/.../)
维度按"原书"切按"软件工程生命周期"切
回答"事件驱动微服务是什么 / 怎么做""建模 / 设计 / 实现 / 运营 / 演化怎么做"
形态忠实于原书 + 少量 AI 实践判断跨书综合 + 跨原书共振
目的深入一本书跨主题比较

核心理念:第一轮忠实于原书,第二/三轮再探索互联网扩充实践例子。

一、EDM 是什么

事件驱动微服务(Event-Driven Microservices):以事件流作为单一事实源(SSOT),微服务从流中物化状态(materialize state)的分布式架构风格。

Bellemare 4 特征

  1. 异步消费/生产(非同步调用)
  2. 事件持久化(消费后不销毁,可重放)
  3. 小而专(一个 BC 一个服务)
  4. 自治(独立部署/演化)

与其他书的关系

  • IDDD 给"领域事件"概念(ch08)+ "集成限界上下文"模式(ch13)
  • EDM 给"事件流作为 SSOT"基础设施 + 微服务拓扑 + Saga + 框架选型
  • 两者互补:IDDD = 战略/战术 / EDM = 基础设施/集成/运维

二、核心论断 7 条

#论断出处
1事件流 = SSOT(单一事实源)Ch 1
2McLuhan 媒介论:媒介决定耦合Ch 1
3Conway 定律:业务通信结构 → 实现通信结构Ch 1
4Single Writer Principle:一个聚合 = 一个微服务 = 唯一写者Ch 2
5Schema 演化 3 类型:Forward / Backward / FullCh 3
6Choreography vs Orchestration 决策树Ch 8
7Saga = 多步 + 补偿(无分布式事务)Ch 8

三、17 章地图

Ch标题核心主题升格价值
1Why Event-Driven Microservices通信结构、McLuhan、Conway★★★
2Event-Driven Microservice Fundamentals微服务拓扑、事件 3 类型、Single Writer★★★★
3Communication and Data ContractsSchema 演化、契约优先★★★★★
4Integrating with Existing SystemsCDC、迁移策略★★★
5Event-Driven Processing Basics3 步处理、单事件 vs 多事件★★
6Deterministic Stream Processing确定性流处理★★★
7Stateful Streaming状态物化、本地 vs 共享★★★★
8Building Workflows with MicroservicesChoreography、Orchestration、Saga★★★★★
9FaaS Microservices函数即服务★★
10Basic Producer/Consumer基础生产者/消费者★★
11Heavyweight FrameworkKafka Streams、Flink★★★
12Lightweight Framework轻量框架★★
13Integrating Event-Driven + Request-Response混合架构★★★
14Supportive ToolingDevOps、监控、追踪★★★
15Testing Event-Driven Microservices测试策略、契约测试★★★★
16Deploying Event-Driven Microservices部署策略、CI/CD★★
17Conclusion总结★★

四、何时用 EDM 何时不用

用 EDM 的 2 大场景

场景关键判断实例
跨服务业务事实需要可靠传递业务事件不止一个消费者,且需追溯订单生命周期、支付链路、库存变更
业务需要解耦团队独立演化多个团队各自负责 BC,且 BC 频繁变更电商订单/库存/支付/物流分离

不适用 EDM 的 4 大场景

场景原因替代方案
单体足够的小系统微服务税 > 收益单体 + 模块化
强一致 + 低延迟(如交易撮合)事件最终一致延迟不满足同步 RPC + 强一致数据库
极简 CRUD + 单团队复杂度过剩REST + 数据库
客户端直连 + 实时双向事件单向 + 持久不适合WebSocket / gRPC stream

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

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

互补关系

  • IDDD ch08 领域事件 ↔ EDM ch2 事件结构
  • IDDD ch13 集成 BC ↔ EDM ch8 Saga + ch4 CDC
  • IDDD ch10 聚合 ↔ EDM ch2 Single Writer

六、状态

状态
文件数18(17 章 + index)
总行数1688
V2 来源meta/source/event-driven/
升格范本已对齐 V4 9 段(部分章需第二轮扩充)
待第二轮ch05/09/10/11/12/14/16(深度不足)
待第三轮框架对比、工具选型、监控方案

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