主要观点: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)
等。进一步阅读可在网站菜单中探索其他功能。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。