Easy-Go-Web3
知识图谱Go 教程React Web3智能合约
需求分析系统设计设计模式Go 微服务
项目实战DevOps
Go 生态React 生态智能合约生态Web3 生态AI × Web3工具箱Web3 公司远程Web3求职
🎯 AA 工程师面试手册博客
GitHub
返回需求分析
高级

事件风暴

Event Storming

通过协作工作坊快速发现领域事件,是微服务拆分的利器。

1事件风暴简介

事件风暴是一种协作建模工作坊,通过便签纸快速探索业务领域: **橙色便签**:领域事件 (Domain Event) - 过去发生的事实 **蓝色便签**:命令 (Command) - 触发事件的操作 **黄色便签**:聚合 (Aggregate) - 处理命令的实体 **粉色便签**:外部系统 - 系统边界外的依赖 **紫色便签**:热点问题 - 需要讨论的疑问

2事件风暴流程

事件风暴的标准流程: **Phase 1: 混沌探索** - 所有参与者自由书写领域事件 - 贴在时间线上,不要讨论 **Phase 2: 时间线排序** - 按时间顺序整理事件 - 识别重复和遗漏 **Phase 3: 补充命令和聚合** - 为每个事件添加触发命令 - 识别处理命令的聚合 **Phase 4: 识别限界上下文** - 用胶带划分领域边界 - 每个区域可能是一个微服务

3Go Web3 事件示例

以 DeFi 借贷协议为例:
example.markdown
markdown
1# DeFi 借贷协议事件风暴结果
2
3## 限界上下文 1:存款服务
4┌─────────────────────────────────────────────────┐
5│ [用户发起存款] → 【存款池】 → 存款已确认 │
6│ [利率更新] → 【利率模型】 → 利率已调整 │
7│ [用户发起取款] → 【存款池】 → 取款已完成 │
8└─────────────────────────────────────────────────┘
9
10## 限界上下文 2:借贷服务
11┌─────────────────────────────────────────────────┐
12│ [用户申请借款] → 【借贷引擎】 → 借款已发放 │
13│ [用户还款] → 【借贷引擎】 → 还款已确认 │
14│ [触发清算] → 【清算器】 → 清算已执行 │
15└─────────────────────────────────────────────────┘
16
17## 限界上下文 3:预言机服务
18┌─────────────────────────────────────────────────┐
19│ [价格推送] → 【价格聚合器】 → 价格已更新 │
20│ [健康度检查] → 【风控引擎】 → 清算警告已触发 │
21└─────────────────────────────────────────────────┘

最佳实践

  • •邀请领域专家和开发者共同参与
  • •先发散后收敛
  • •用过去式描述事件
  • •识别出的限界上下文指导微服务拆分

常见错误

  • •只有开发者参与,缺少业务视角
  • •过早陷入技术细节
  • •事件粒度不一致
  • •忽略跨上下文的集成事件

推荐工具

MiroMuralFigJam实体便签纸
领域建模法继续学习:系统设计
Easy-Go-Web3

构建 Go 后端与 Web3 的学习之路。从基础到进阶,从理论到实践,助你成为全栈区块链开发者。

学习路径

  • 知识图谱
  • Go 教程
  • Go 微服务
  • 面试手册

资源中心

  • 工具箱
  • DevOps 工具
  • Web3 生态
  • 博客

© 2025 Easy-Go-Web3. All rights reserved.

Created withbyhardybao