首页/开发/系统分析与架构设计速查/流程管理器(Process Manager)
架构风格与模式58 条

流程管理器(Process Manager)

集成模式中的有状态协调者:接收事件、维护流程状态并决定后续发送命令或继续等待;适合需要多步、跨系统且有补偿逻辑的业务流程。

与路由区别路由器无状态;流程管理器保存流程实例状态
与编排引擎区别可由消息框架与业务代码实现,不依赖专用引擎
关键设计状态机定义、幂等处理、超时与补偿
  • 状态定义:每个等待点与终态显式建模,含超时出口
  • 消息处理:按流程 ID 定位实例,校验状态后应用事件
  • 幂等:重复消息按已应用事件去重
  • 超时任务:扫描超期实例执行补偿或取消
  • 审计:状态变化写入轨迹表,供对账与排障
流程管理器是 Saga 编排实现的常见载体,二者常被一起使用。

易错点

  • 流程状态存储与消息消费不原子,重启后丢步骤或重复执行
  • 流程分支没有超时出口,实例永久挂起

数据来源与参考

  • 《Enterprise Integration Patterns》(Hohpe & Woolf)
  • Chris Richardson《Microservices Patterns》
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌