之八 2流高手速成记:基于Sentinel实现微服务体系下的限流与熔断( 三 )


降级规则第四项【降级规则】对应了本节标题中的【熔断】

之八 2流高手速成记:基于Sentinel实现微服务体系下的限流与熔断

文章插图
所谓“熔断”,其实最早这个概念来源于家庭电路中的保险丝,当家庭中的某件家用电器功率异常,或者某处电路出现短路,
为防止电流过大造成更大的损失,此刻保险丝即会【熔断】,造成我们日常所说的“掉闸”
熔断策略
慢调用比例 —— 慢调用其实就是响应超过预定时长,当这样的调用到达一定比例后,触发降级规则
异常比例 —— 方法调用出现异常数到达一定比例后,触发降级规则
异常数 —— 方法调用出现异常到达一定数目后,触发降级规则
我们按照图中所示创建一条降级规则,其含义为【任意1次并发请求(QPS)中有1次异常则触发熔断规则,时长为10秒】
这里的10秒时间是我们一个大概的预估值,一般理解为系统达到自愈效果需要大概10秒左右
之后我们直接关停下游的provider,则第一次请求会导致异常,而第二次请求则触发降级规则
之八 2流高手速成记:基于Sentinel实现微服务体系下的限流与熔断

文章插图
之八 2流高手速成记:基于Sentinel实现微服务体系下的限流与熔断

文章插图
若我们不设定降级规则,则大量的异常请求会堆积在consumer一侧,导致consumer最终崩溃
而熔断机制的设立,可以使得下游provider异常的情况下,上游的consumer依然做出正常的应答,
而10秒钟provider服务自愈之后,所有的异常影响将消失于无形 —— 这就是微服务方案下针对我们上一节所遗留的问题给出的答案
其他熔断策略同理,我们可以自行尝试
本节我们重点讲述了Sentinel系统中的限流与熔断 , 而除此之外,Sentinel还有更多更丰富的规则设定 , 可以应对微服务体系中更加复杂多变的场景
这里我们推荐几篇文章,大家感兴趣可以自行阅读
sentinel 限流熔断神器详细介绍_张维鹏的博客-CSDN博客_sentinel熔断
Sentinel限流熔断最全教程_思月行云的博客-CSDN博客
本节内容到此为止,而微服务领域的探索却远不止于此
众多节点之间的复杂调用,不同微服务不同的认证方式,跨域问题等等一系列问题接踵而至,我们又当如何应对?
请期待下一节内容 —— 基于SpringCloudGateway的网关设计,谢谢~
e.getMessage()【之八 2流高手速成记:基于Sentinel实现微服务体系下的限流与熔断】

推荐阅读