Go 的容错和弹性模式

主要观点:failsafe-go 是用于构建有弹性、容错 Go 应用的库,通过用一个或多个弹性策略包装函数来工作,策略可按需组合。
关键信息

  • 策略包括失败处理(重试、回退)、负载限制(断路器、舱壁、速率限制器、超时、缓存)、时间限制(超时、套期保值)。
  • 开始使用时可创建重试策略并用于 Run 或 Get 函数结果,异步执行也很简单。
  • 可组合多个策略添加更多弹性层或以不同方式处理不同失败,组合时顺序重要。
  • 策略组合可通过执行器保存供以后使用。
    重要细节
  • 重试策略创建示例:retryPolicy := retrypolicy.Builder[any]().HandleErrors(ErrConnecting).WithDelay(time.Second).WithMaxRetries(3).Build()
  • 异步执行示例:result := failsafe.RunAsync(Connect, retryPolicy)等。
  • 组合策略示例:fallback := fallback.WithResult(backupConnection)等。
  • 执行器示例:executor := failsafe.NewExecutor[any](retryPolicy, circuitBreaker)等。进一步阅读可在网站菜单中探索其他功能。
阅读 9
0 条评论