分布式流量防卫兵
A服务
调用B服务
时发现:“卧槽小老弟你这失败概率有点高啊,我调用你十次得有五次发生异常,你老是这样我没法向上面交代啊,你先歇会吧(熔断),等五分种后我再来看看你好了没”A服务
调用B服务
时发现:“卧槽我都等了半分钟了你还没响应,不行不行用户等不及了,我先自己模拟个假值返回给用户算了(降级处理)”; 为了降低系统整体负荷也可以考虑服务降级qps
为100
吧(限制流量),超出qps
的请求一律返回: 服务器繁忙请稍后再试
(qps
指每秒访问量)sentinel
有两种使用方式,一是通过代码配置防卫策略,二是通过sentinel-dashboard
控制台配置防卫策略sentinel-dashboard
控制台方式更加灵活更加自动化,在此仅演示sentinel-dashboard
控制台方式,对代码配置感兴趣的同学可自行搜索相关资料sentinel-dashboard-1.8.0.jar
gitee
,拉取源码后手动编译 (在\sentinel-dashboard
目录执行 mvn clear package
)进入cmd,运行以下命令
java -Dserver.port=8002 -Dsentinel.dashboard.auth.username=sentinel -Dsentinel.dashboard.auth.password=sentinel -jar sentinel-dashboard.jar
http://127.0.0.1:8002
sentinel
sentinel
http://127.0.0.1:8080/sp-admin/test
sentinel
控制台,按照如图所示,配置qpssentinel
的配置信息储存到nacos
中,将可以持久化sp-nacos
查看bootstrap.properties
,与nacos
的集成信息已经配置完毕,开发者无须修改,正常启动项目即可