SuperAPI AI 工具集

resilience-patterns

部署与运维

查看项目

更新于 10-16 03:59

技能介绍

用途

Resilience Patterns 是一个面向分布式系统与基于 LLM 工作流的生产级容错技能,用于构建容错的多智能体系统、实现带正确错误处理的 LLM API 集成、设计需要优雅降级的分布式工作流、为失败场景添加可观测性,以及保护系统免受级联故障影响。

主要能力

1. 熔断器模式(参考 circuit-breaker.md)

当服务超过失败阈值时“跳闸”,防止级联故障。包含三种状态:

  • CLOSED(正常):允许请求,统计失败次数
  • OPEN(拒绝):立即拒绝请求,返回回退结果
  • HALF_OPEN(探测):允许探测请求以测试恢复情况

关键配置:

  • failure_threshold:触发打开前的失败次数(默认 5)
  • recovery_timeout:尝试恢复前的秒数(默认 30)
  • half_open_requests:半开状态下允许的探测数(默认 1)

2. 舱壁模式(参考 bulkhead-pattern.md)

通过将资源划分为独立资源池来隔离故障。OrchestKit 的分层配置:

  • 第 1 层(关键):5 个工作线程,队列 10,超时 300s,用于综合、质量门禁
  • 第 2 层(标准):3 个工作线程,队列 5,超时 120s,用于内容分析智能体
  • 第 3 层(可选):2 个工作线程,队列 3,超时 60s,用于增强、缓存

3. 重试策略(参考 retry-strategies.md)

带指数退避与抖动的智能重试逻辑。公式:delay = min(base * 2^attempt, max_delay) * jitter,抖动为 random(0.5, 1.5),用于防止惊群效应。

可重试错误包括:HTTP 408、429、500、502、503、504,ConnectionError、TimeoutError,以及 LLM 专属的 rate_limit_exceeded、model_overloaded、context_length_exceeded(可截断后重试)。

不可重试错误包括:HTTP 400、401、403、404,invalid_api_key、content_policy_violation、invalid_request_error。

4. LLM 专属弹性(参考 llm-resilience.md)

LLM API 集成专属模式。回退链示例:

  1. claude-sonnet-4-5-20251101(主模型)
  2. gpt-5.2-mini(回退模型)
  3. 语义缓存查询
  4. “分析不可用” + 部分结果

Token 预算守卫:接近上下文限制时的策略包括——总结早期上下文(4:1 压缩)、丢弃低优先级内容(可选字段)、拆分为多个请求、以“内容过大”错误快速失败。

使用方式

技能包含以下文件:

参考文档(概念指南):

  • references/circuit-breaker.md
  • references/bulkhead-pattern.md
  • references/retry-strategies.md
  • references/llm-resilience.md
  • references/error-classification.md

模板(代码模式):

  • scripts/circuit-breaker.py
  • scripts/bulkhead.py
  • scripts/retry-handler.py
  • scripts/llm-fallback-chain.py
  • scripts/token-budget.py

示例:

  • examples/orchestkit-workflow-resilience.md

检查清单:

  • checklists/pre-deployment-resilience.md
  • checklists/circuit-breaker-setup.md

适用场景

  • 外部服务调用:使用熔断器防止级联故障
  • 多租户/多智能体:使用舱壁隔离故障
  • 瞬时故障:使用重试加退避实现自动恢复
  • 关键操作:使用回退链实现优雅降级
  • LLM 调用:使用 Token 预算控制成本、防止失败

OrchestKit 集成点:工作流智能体均包裹熔断器与舱壁分层;所有模型调用使用回退链与重试逻辑;YouTube、arXiv、GitHub API 等外部 API 使用熔断器;数据库操作对读与写使用舱壁隔离。

限制

资料未提供该技能的具体安装命令、收费方式、价格、平台支持范围或实际运行效果数据。

2026 最佳实践

  • 自适应阈值:使用滑动窗口而非固定计数器
  • 可观测性优先:每次熔断跳闸 = 告警 + 指标 + 追踪
  • 优雅降级:始终有回退方案,即使是部分结果
  • 健康端点:将健康检查与熔断状态分离
  • 混沌测试:在预发布环境定期测试失败场景

相关技能

  • observability-monitoring:熔断器状态变化的指标与告警
  • caching-strategies:降级场景中作为回退层的缓存
  • error-handling-rfc9457:弹性失败的结构化错误响应
  • background-jobs:带重试与失败处理的异步处理

关键决策

  • 熔断器恢复:半开探测,理由为渐进恢复、防止立即再次失败
  • 重试算法:指数退避加抖动,理由为防止惊群、遵守速率限制
  • 舱壁隔离:基于信号量的分层,理由为简单高效、优先关键操作
  • LLM 回退:带缓存的模型链,理由为优雅降级、成本优化、可用性