用途:该技能用于在分布式系统中实现 Saga 模式,协调多步骤业务流程与跨聚合工作流,处理长事务与部分失败。适用场景包括多服务事务协调、补偿事务实现、长流程业务管理、分布式系统故障处理、订单履约流程与审批工作流。
主要能力:区分协同(Choreography)与编排(Orchestration)两类 Saga;定义 Saga 执行状态(Started、Pending、Compensating、Completed、Failed);提供编排器基类模板,包含启动、步骤完成/失败处理、逆序补偿、完成与失败回调;提供订单履约 Saga 示例,步骤含预留库存、支付、创建发货、发送确认及对应补偿动作;提供基于事件的协同式 Saga 模板;提供带步骤超时的编排器模板,通过调度器检查超时并触发失败补偿。
使用方式:以 Python 模板为参考,继承 SagaOrchestrator 并实现 define_steps 与 saga_type,通过 saga_store 持久化、event_publisher 发布命令与事件;各服务订阅命令并回发 SagaStepCompleted、SagaStepFailed、SagaCompensationCompleted 等事件。
最佳实践:步骤需幂等、补偿设计需可靠、使用关联 ID 追踪、实现超时、记录日志;避免假设即时完成、跳过补偿测试、服务耦合、忽略部分失败。
限制:资料未提供具体安装命令、依赖版本、平台支持、收费信息或性能数据;示例为 Python 代码,其他语言实现暂未提供。