当连接失败后,如果此时立刻重连,通常会失败,希望延迟一段时间再进行重试,其中延迟时间的计算为backoff
。gRPC还有其他涉及到backoff
的地方,例如:发送到服务端应用层的失败重试,本小节讨论连接失败重试时的backoff。
本系列gRPC学习大纲:
![在这里插入图片描述](https://img-blog.csdnimg.cn/84800ed26d834d7e8a1b6276ed3a2c43.png)
1. backoff实现代码
BaseDelay
表示基础延时
Multiplier
乘数,每次用上次的backoff
延时时间 * 乘数
Jitter
随机抖动因子
MaxDelay
最大延迟时间
var DefaultConfig = Config{
BaseDelay: 1.0 * time.Second,
Multip