大家好,又见面了,我是你们的朋友全栈君。
GRPC Connection Backoff Protocol
当我们向一个失败的后端进行连接时,通常不希望立即重试(为了避免请求flooding网络或者服务器) ,而是去做一些某种形式的指数backoff。
我们有几个参数:
- INITINAL_BACKOFF(第一次失败后的重试需要等待多长时间)
- MULTIPLIER(在一次失败的重试后,backoff的乘回因子)
- JITTER(随机backoffs的程度)
- MAX_BACKOFF(backoff 的上界)
- MIN_CONNECT_TIMEOUT(我们愿意给予连接完成的最小时间)
Proposed Backoff Algorithm
以指数方式回退尝试连接的起始时间,最大值为MAX_BACKOFF,并带有抖动(jitter)。
Resset Backoff
back off 应当在某一时间点被重置为 INITIAL_BACKOFF,所以重连行为是一致的,无论连接是新开始的一个,还是之前断连的一个。
当 SETTINGS frame 被接收到时,我们选择重置Backoff,在那时,我们明确知晓这个连接已经被服务器接受了。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/149701.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...