欢迎光临散文网 会员登陆 & 注册

google的熔断保护策略

2023-07-25 21:24 作者:高性能golang  | 我要投稿

熔断即不向服务端发送请求,直接认为获取不到数据。


客户端根据以下公式计算熔断概率:

max(0%2C%5Cfrac%7Brequests-k*accepts%7D%7Brequests%2B1%7D)


设定滑动窗口,比如2分钟,每次计算熔断概率时都统计一下过去2分钟的

requests:每服务端发送了多少次请求

accepts:服务端成功响应了多少次

所以requests-accepts表示请求失败的次数


熔断概率公式的核心是%5Cfrac%7Brequests-accepts%7D%7Brequests%7D,即过去一段时间请求失败的概率,以此来作为熔断概率。因为失败率越高,说明服务端负载越高,应该减少请求量,所以熔断概率应该增大。

分母加1是为了防止除0异常。

系数k越大,熔断概率越小,小到可能为负数,但概率总不能为负数吧,所以最外层的max(0 就是用来保证概率非负的。


google的熔断保护策略的评论 (共 条)

分享到微博请遵守国家法律