mcpField
W
workflow-orchestration-patterns

workflow-orchestration-patterns

github.com/wshobson开发41.9k12.2k 次安装2 周前更新
代码仓库

关于 workflow-orchestration-patterns

workflow-orchestration-patterns 是面向 Temporal 的指南,帮助设计分布式系统中的可靠工作流。内容涵盖架构选择、弹性设计、工作流与 Activity 设计及运维实践。

主要功能

  1. 01Temporal 工作流架构指南
  2. 02恢复与弹性模式
  3. 03工作流和 Activity 设计实践
  4. 04常见陷阱与限制
  5. 05监控和扩展考量

适用场景

  1. 01设计长时间运行的业务流程
  2. 02恢复多步骤分布式操作
  3. 03构建含超时和升级处理的审批流
  4. 04规划 CI/CD 或基础设施工作流

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/wshobson/agents --skill workflow-orchestration-patterns

安装后在 Claude Code 中输入/workflow-orchestration-patterns确认已加载。

附带文件references/details.md

详细介绍

工作流编排模式

使用 Temporal 掌握工作流编排架构,涵盖基本设计决策、弹性模式以及构建可靠分布式系统的最佳实践。

何时使用工作流编排

理想用例(来源:docs.temporal.io)
  • 多步骤流程,跨机器/服务/数据库
  • 分布式事务,要求全有或全无语义
  • 长时间运行的工作流(数小时到数年),具备自动状态持久化
  • 故障恢复,必须从上一个成功步骤继续
  • 业务流程:预订、订单、营销活动、审批
  • 实体生命周期管理:库存跟踪、账户管理、购物车工作流
  • 基础设施自动化:CI/CD 管道、置备、部署
  • 人机协同系统,需要超时和升级
何时不应使用
  • 简单的 CRUD 操作(使用直接 API 调用)
  • 纯数据处理管道(使用 Airflow、批处理)
  • 无状态请求/响应(使用标准 API)
  • 实时流处理(使用 Kafka、事件处理器)

详细模式与完整示例

详细的模式文档位于 references/details.md。当上述导航层级不够用时,请阅读该文件。

最佳实践

工作流设计
  1. 保持工作流聚焦 - 每个工作流单一职责
  2. 小型工作流 - 使用子工作流以实现可扩展性
  3. 清晰边界 - 工作流负责编排,活动负责执行
  4. 本地测试 - 使用时间跳跃测试环境
活动设计
  1. 幂等操作 - 可安全重试
  2. 短生命周期 - 数秒到数分钟,而非数小时
  3. 超时配置 - 始终设置超时
  4. 长任务心跳 - 报告进度
  5. 错误处理 - 区分可重试与不可重试
常见陷阱

工作流违规:

  • 使用 datetime.now() 而不是 workflow.now()
  • 在工作流代码中使用线程或异步操作
  • 直接从工作流调用外部 API
  • 工作流中的非确定性逻辑

活动错误:

  • 非幂等操作(无法处理重试)
  • 缺少超时(活动永久运行)
  • 无错误分类(重试验证错误)
  • 忽略负载限制(每个参数 2MB)
运维注意事项

监控:

  • 工作流执行时长
  • 活动失败率
  • 重试次数与退避
  • 待处理工作流数量

可扩展性:

  • 使用 worker 进行水平扩展
  • 任务队列分区
  • 子工作流分解
  • 适当时进行活动批处理

其他资源

官方文档:

  • Temporal 核心概念:docs.temporal.io/workflows
  • 工作流模式:docs.temporal.io/evaluate/use-cases-design-patterns
  • 最佳实践:docs.temporal.io/develop/best-practices
  • Saga 模式:temporal.io/blog/saga-pattern-made-easy

关键原则:

  1. 工作流 = 编排,活动 = 外部调用
  2. 确定性对工作流不可妥协
  3. 幂等性对活动至关重要
  4. 状态保留是自动的
  5. 为故障与恢复而设计

评论

支持 Markdown