SuperAPI AI 工具集

saga-orchestration

办公与效率

查看项目

更新于 10-15 21:40

技能介绍

用途:该技能面向分布式事务与长时运行业务流程的管理,适用于实现分布式事务、协调多服务工作流、处理补偿事务,以及讨论 saga 模式时使用。

主要能力:区分两种 Saga 类型。编舞(Choreography)由服务对事件作出反应,控制去中心化,适合简单流程;编排(Orchestration)由中心协调器显式控制流程,适合复杂流程。定义 Saga 状态:Started(已启动)、Pending(等待步骤)、Compensating(回滚中)、Completed(全部成功)、Failed(补偿后失败)。

使用方式:提供编排器实现思路,用 SagaStep 描述步骤的名称、动作、补偿与状态,SagaOrchestrator 按顺序执行步骤,失败时对已完成步骤逆序执行补偿,并返回 SagaResult。给出订单履约 Saga 示例,包含预留库存、处理支付、创建发货三步及其对应补偿。也给出编舞示例,通过事件总线订阅 OrderCreated、InventoryReserved、PaymentFailed 等事件并发布 ReserveInventory、ReleaseInventory 等命令。

最佳实践:步骤需幂等以便安全重试;补偿设计必须始终可用;使用关联 ID 跨服务追踪;实现超时避免无限等待;记录日志便于排查失败。

适用场景:编排适合复杂多步骤工作流、需要可见的 Saga 状态、集中错误处理;编舞适合简单事件流、需要松耦合、服务团队相互独立。

限制:资料未提供具体安装命令、依赖版本、运行环境、性能数据或收费信息。