Polly
Polly 是一款免费开源的 .NET 弹性和瞬态故障处理库,帮助应用从故障中优雅恢复。它提供重试(Retry)、断路器(Circuit Breaker)、超时(Timeout)、隔离(Bulkhead)、降级(Fallback)等弹性策略,支持异步、并行、取消令牌,与 HttpClientFactory 和 ASP.NET Core 深度集成,是构建高可用微服务的必备库。

项目简介

Polly 是一款免费开源的 .NET 弹性和瞬态故障处理库,帮助应用从故障中优雅恢复。它提供重试(Retry)、断路器(Circuit Breaker)、超时(Timeout)、隔离(Bulkhead)、降级(Fallback)等弹性策略,支持异步、并行、取消令牌,与 HttpClientFactory 和 ASP.NET Core 深度集成,是构建高可用微服务的必备库。

核心功能

弹性策略
  • 自动重试和退避
  • 断路器模式
  • 超时控制
  • 隔离舱壁
故障处理
  • 降级和回退
  • 故障兜底
  • 结果处理
  • 异常过滤
集成支持
  • HttpClientFactory 集成
  • ASP.NET Core 集成
  • 策略包装和组合
  • 异步支持

使用方法

  1. 通过 NuGet 安装 Polly
  2. 定义弹性策略(如重试+断路器)
  3. 包装异步调用代码
  4. 应用到 HttpClient 或服务调用

适用场景

  • 微服务调用容错
  • 网络不稳定环境
  • 数据库连接重试
  • 第三方API调用保护

项目地址

授权方式:免费 + 开源 (BSD)