SuperAPI AI 工具集

resilience

通用与其它

查看项目

更新于 10-16 08:34

技能介绍

用途:该技能为 .NET 10 应用提供基于 Polly v8 的弹性模式指引,用于处理外部调用的失败、超时与级联故障。

主要能力:讲解 Polly v8 的 ResiliencePipeline(替代 v7 的 Policy)、通过 AddResilienceHandler 配置而非手工包装、以组合替代嵌套策略,并强调始终设置超时与全程埋点。涵盖 HTTP 客户端弹性(AddStandardResilienceHandler 默认重试、断路器、超时)、自定义命名处理器、非 HTTP 的 AddResiliencePipeline、带类型的 ResiliencePipeline<T> 与回退、对冲(Hedging)、TelemetryOptions 与 OpenTelemetry(AddMeter("Polly")),以及 .NET 内置限流中间件 AddRateLimiter 的多种算法。

使用方式:在 Program.cs 中通过 DI 注册 HttpClient 或命名管道并按序添加策略,顺序为外层到内层(总超时 > 重试 > 断路器 > 单次超时);非 HTTP 场景用 [FromKeyedServices] 注入管道后调用 ExecuteAsync。

适用场景:外部 API 调用、数据库/EF Core、消息队列、延迟敏感读、优雅降级、API 限流。

限制与注意:不应对非幂等写操作盲目重试(需幂等键);断路器需配合遥测监控;避免 v7 语法与手工逐调用包装。具体版本兼容与依赖细节暂未提供。