Sentinel限流降级的使用

通过限流和降级保证在系统流量大的时候保证部分用户的正常使用,保证系统稳定,提升可用性。(前提找到系统和单机的最高能支撑的流量水平)

限流

如商品调用营销,营销仅仅能支撑最多10qps流量,超出后营销系统会性能大幅下降,营销可以对商品进行限流,超过流量就报错

降级/熔断/快速错误

如商品调用营销,发现营销接口异常或者响应时间很长,则商品可以对营销接口进行降级,快速返回错误,防止商品自己被拖死。

处置方式

  1. 抛出异常
  2. 返回默认值

规则配置方式

  1. 代码写死
  2. 平台配置
  3. application 配置文件配置

另外:

可以针对单机也可以针对集群

实现逻辑

AOP进行拦截处理

限流配置

熔断配置

限流效果

熔断效果

DEMO

  1. 下载jar包
  1. 本地启动:

java -Dserver.port=8058 -Dcsp.sentinel.dashboard.server=localhost:8058 -Dproject.name=sentinel-dashboard -jar -Dsentinel.dashboard.auth.username=sentinel -Dsentinel.dashboard.auth.password=123456 sentinel-dashboard-1.8.3.jar

日常环境

docker:docker pull bladex/sentinel-dashboard

docker run --name sentinel -d -p 8858:8858 bladex/sentinel-dashboard

增加启动参数:-Dproject.name=wdpromotion -Dcsp.sentinel.dashboard.server=localhost:8058

开发环境地址:

账号..... 密码.....

参考文档:

或者看我另一篇

经验分享 程序员 微信小程序 职场和发展