• 博客园logo
  • 会员
  • 周边
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

无信不立

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

【服务保护】服务保护的解决方案

参考wiki:https://www.jianshu.com/p/c1c0d8305fb4

 

一、服务保护

1、流量控制

(1)单机限流

(2)集群限流

(3)黑白名单限流

(4)用户百分比限流

2、熔断降级

 

3、故障注入

 

二、单机限流器的算法实现

1、计时器:限流器底层会有一个计时器,可以随时获取该限流器已运行的时长(微妙级别)。

2、一个请求流量时间片:一个请求流量在指定QPS下占用的时间长度。比如:QPS=900     则:时间片(微妙)=900/(1000*1000)

3、最大流控数:1秒内允许的最大流量。

4、下一次产生流控令牌的时间:这个时间是根据当前限流器流过的流量大小决定的。

  • 初始值=0

  • 第一个值=第一次流量访问限流器时限流器运行的时间长度

  • 接下来的值

    如果再次访问限流器时限流器运行的时间长度(a)>下一次产生流控令牌时限流器运行的时间长度(b),则更新为(a)。

    下一次产生流控令牌限流器运行的时间长度 +(超售的令牌数*时间片)

5、新产生的流控令牌=(当前限流器运行的时间长度-下一次产生流控令牌的时间)/一个请求流量的时间片

 

三、单机熔断器的算法实现

 

posted on 2019-12-09 13:38  无信不立  阅读(167)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3