3. 事件风暴工作坊:角色分工与画布准备

事件风暴工作坊的成功与否,很大程度上取决于角色分工的清晰度和画布准备的充分性。本章将详细定义工作坊中的关键角色及其职责,并指导你如何搭建物理或数字化的画布环境,为后续的领域建模和分布式事务边界识别奠定基础。

3.1 工作坊角色与职责矩阵

一个标准的事件风暴工作坊通常需要以下四类核心角色。角色可以重叠,但职责必须明确,避免讨论失焦。

角色 人数建议 核心职责 必备技能
领域专家 (Domain Expert) 3-5 人 提供业务知识、解释业务规则、验证事件真实性、描述异常流程 精通业务、能清晰表达、有决策权
技术专家 (Technical Expert) 2-3 人 评估技术可行性、识别分布式事务痛点、确认基础设施约束 熟悉微服务架构、了解分布式事务模式
引导师 (Facilitator) 1 人 控制节奏、引导讨论、记录关键决策、确保画布整洁 精通事件风暴方法、中立客观、时间管理能力强
记录员 (Scribe) 1-2 人 实时拍照/截图、整理电子版画布、归档决策日志 细心、熟练使用协作工具
引导师提示: 在分布式事务场景下,建议额外邀请一位 运维/平台专家 作为观察员,负责提供消息中间件、数据库、配置中心等基础设施的当前状态信息,避免技术专家在画布上做出脱离实际的假设。

3.2 画布物理准备与数字工具选型

画布是事件风暴的“战场”。根据团队规模和协作模式,可以选择物理画布或数字画布。本课程推荐在初期使用物理画布以促进高互动性,后期使用数字画布进行持久化。

3.2.1 物理画布物料清单

  • 墙纸/白板纸: 至少 3 米 × 2 米,建议使用带背胶的牛皮纸或可重复使用的白板贴。
  • 便签纸(核心物料):
    • 橙色(事件): 5cm × 5cm,用于记录领域事件。
    • 蓝色(命令): 5cm × 5cm,用于记录触发事件的命令。
    • 绿色(聚合/实体): 7.5cm × 5cm,用于记录聚合根。
    • 紫色(策略/外部系统): 7.5cm × 5cm,用于记录策略或外部依赖。
    • 黄色(问题/风险): 5cm × 5cm,用于记录讨论中的待办项。
  • 记号笔: 黑色细头(写便签)、黑色粗头(写标题)、红色记号笔(标记分布式事务边界)。
  • 辅助工具: 美纹纸胶带(固定边界线)、相机(用于存档)。

3.2.2 数字画布工具对比

工具 适用场景 优势 劣势
Miro 分布式团队、大型工作坊 模板丰富、实时协作、无限画布 学习曲线略高、免费版有限制
Mural 设计思维工作坊 引导工具集成、计时器、投票功能 对网络要求较高
Physical + 扫描 同地团队、高互动性 沉浸感强、零技术门槛 难以远程协作、不易修改

3.3 画布分区与时间线布局

画布的核心结构是时间线。从左到右代表业务过程的演进,从上到下可以划分不同的泳道或限界上下文。在分布式事务场景中,我们需要在画布上明确标出事务边界。

画布布局黄金法则: 将画布水平分为三个区域——上游事件区(左侧)、核心处理区(中间)、下游事件区(右侧)。分布式事务的“一致性边界”通常横跨核心处理区与下游事件区。
事件风暴画布分区与时间线布局 事件风暴画布分区与时间线布局 时间线 (从左到右) 上游事件区 领域事件 外部触发 核心处理区 命令 → 聚合 → 事件 业务逻辑 下游事件区 事件发布 外部系统 分布式事务一致性边界 说明:分布式事务边界通常横跨核心处理区与下游事件区,需在此处标记一致性协议

3.4 角色分工与画布准备的常见陷阱

避坑指南:
  • 角色冲突: 引导师不应同时担任领域专家或技术专家,否则容易主导讨论方向,导致其他参与者沉默。
  • 画布过小: 分布式事务场景通常涉及多个限界上下文,画布长度建议不少于 4 米,否则后期需要频繁移动便签,破坏时间线。
  • 颜色混淆: 务必在开始前向所有参与者展示便签颜色与元素类型的对应关系,避免将“命令”误贴成“事件”。
  • 忽略异常流: 分布式事务的失败场景(如超时、回滚、补偿)是建模的关键,画布上应预留黄色便签区域专门记录异常流。

3.5 工作坊启动检查清单

在正式开始事件风暴之前,引导师应带领团队完成以下检查项,确保画布和角色就绪。

  1. 角色确认: 每位参与者明确自己的角色,并佩戴角色标识(如胸牌或便签)。
  2. 画布分区: 使用美纹纸胶带在画布上画出时间线、上游区、核心区、下游区、问题区。
  3. 物料摆放: 将不同颜色的便签纸分区域摆放,记号笔每人一支。
  4. 规则宣讲: 引导师用 5 分钟讲解事件风暴的基本规则(一次只说一个事件、不讨论技术实现细节、先发散后收敛)。
  5. 热身练习: 选择一个简单的业务场景(如“用户注册”),让团队在画布上贴出 3-5 个事件,快速熟悉流程。
工作坊启动检查清单流程 工作坊启动检查清单流程 角色确认 画布分区 物料摆放 规则宣讲 热身练习 提示:热身练习建议控制在 10 分钟内,目的是让团队进入“事件思维”状态

3.6 分布式事务场景下的画布特殊准备

当事件风暴工作坊的目标是识别和设计分布式事务时,画布需要额外准备以下元素:

  • 一致性级别标记: 在画布顶部预留一行,用于标记每个事件或命令的分布式事务一致性要求(强一致性、最终一致性、柔性事务)。
  • 回滚/补偿泳道: 在画布底部增加一条“补偿泳道”,专门用于记录 Saga 或 TCC 模式中的补偿操作。
  • 消息中间件图标: 准备一些紫色便签,上面预先画上“MQ”或“Kafka”图标,用于标记事件通过消息队列传递的节点。
  • 超时与重试标记: 使用红色小圆点便签,贴在可能发生超时或需要重试的事件上。
实战建议: 在画布右上角固定一个“分布式事务决策表”区域,用于记录每个跨聚合操作的事务模式(Saga、TCC、Outbox、2PC)和隔离级别。这将在后续的接口调试阶段直接指导测试用例的设计。