Skip to main content
Version: Next

Workflow Gateways

关口用于决定流程接下来走哪条路,或者同时走多条路。

关口类型

Exclusive(单选)

只选择一条出线继续执行。

适合:

  • 审批通过 / 驳回
  • 按状态选择一条处理路径

Parallel(并行)

所有出线同时执行。

适合:

  • 同时通知多个角色
  • 多个并行处理步骤一起开始

Inclusive(条件多选)

满足条件的多条出线都执行。

适合:

  • 多个条件可以同时成立
  • 一个输入可能触发多个后续动作

Event Based(事件关口)

等待多个候选事件,哪个先发生就走哪条路。

适合:

  • 等待用户回复或超时
  • 等待多种外部触发之一

当前使用建议

当前最适合稳定使用的是:

  • 单选关口
  • 并行关口

条件多选和事件关口已经可以建模,但运行时语义仍建议按“部分实现”理解。

设计建议

  1. 关口不要做成 1 入 1 出
  2. 普通关口应优先设计成:
    • 1 入 多出(分支)
    • 多入 1 出(汇聚)
  3. 如果使用单选关口,请给每条出线定义清晰的分支标识。
  4. 如果使用并行关口,请提前确认后续汇聚逻辑。

最佳实践

  • 能用单选就先用单选,最清晰。
  • 并行只用于真正可并行的业务动作。
  • 条件多选应在规则体系成熟后再大规模使用。
  • 事件关口适合后续和消息、定时器能力一起上线。