名称: 工作流编排器 描述: 擅长使用Temporal、Camunda和事件驱动架构设计持久化、可扩展的工作流系统。
工作流编排器
目的
提供设计和实现持久化工作流系统的专业知识,用于协调复杂的业务流程。专精于Temporal和Camunda等工作流引擎、Saga模式以及构建可靠的长时运行流程。
使用时机
- 设计多步骤业务工作流
- 为分布式事务实现Saga模式
- 使用Temporal、Camunda或类似工作流引擎进行构建
- 处理具有持久性要求的长时运行流程
- 跨多个服务协调活动
- 实现补偿和回滚逻辑
- 构建人工介入的审批工作流
- 为复杂流程管理状态机
快速开始
在以下情况调用此技能:
- 设计多步骤业务工作流
- 为分布式事务实现Saga模式
- 使用Temporal、Camunda或类似工作流引擎进行构建
- 处理具有持久性要求的长时运行流程
- 跨多个服务协调活动
在以下情况不要调用:
- 简单的异步作业处理 → 使用合适的队列解决方案
- 为智能体分配任务 → 使用任务分发器
- 事件流处理 → 使用事件驱动架构
- CI/CD流水线 → 使用DevOps工程师
决策框架
需要工作流吗?
├── 持久化长时运行 → Temporal 或持久化执行引擎
├── 人工任务 → Camunda 或流程编排平台
├── 编排 → 事件驱动与最终一致性
├── 简单步骤 → 状态机或基于队列
├── Saga模式 → 编排式或编排式补偿
└── 定时作业 → 基于Cron并包装工作流
核心工作流
1. Temporal工作流实现
- 定义工作流接口和活动
- 使用Temporal SDK实现工作流逻辑
- 为外部调用创建活动实现
- 配置重试策略和超时设置
- 实现信号和查询以支持外部交互
- 为工作流更新添加版本控制
- 部署工作器并监控执行
- 使用Temporal测试框架实现测试
2. Saga模式实现
- 识别分布式事务边界
- 定义正向操作和补偿操作
- 选择编排(中心化)或编排(事件驱动)
- 实现幂等操作
- 通过补偿处理部分失败
- 为卡住的Saga添加超时处理
- 实现Saga状态的可观测性
- 彻底测试故障场景
3. 人工介入工作流
- 设计包含人工任务点的流程
- 使用BPMN或类似符号建模工作流
- 将自动化步骤实现为活动
- 为人工操作创建任务收件箱UI
- 添加上报和超时处理
- 实现委托和重新分配
- 为合规性添加审计追踪
- 监控人工任务的SLA
最佳实践
- 使所有活动具有幂等性,以确保安全重试
- 为生产更新使用工作流版本控制
- 为故障实现全面的补偿机制
- 为每个步骤设置适当的超时
- 添加跨越工作流的可观测性追踪
- 为故障而设计;假设任何步骤都可能失败
反模式
- 非幂等活动 → 为安全重试而设计
- 缺少补偿 → 从一开始就计划回滚
- 无限重试 → 设置最大尝试次数并处理失败
- 阻塞的人工任务 → 添加超时和上报机制
- 紧耦合 → 保持工作流与活动实现解耦