SpringCloud-高级篇(三)
创始人
2024-06-02 10:22:19
0

目录:

(1)Feign与Sentinel的整合

(2)Sentinel实现线程隔离和熔断

           熔断策略-慢调用 

          熔断策略-异常比例  异常数


(1)Feign与Sentinel的整合

前面学习了限流的各种用法,限流可以降低服务的负载,从而避免服务因为过高并发而出现故障,服务不出现故障自然不会把故障传递给其他服务,从而避免了级联失败,限流是对服务故障的预防措施,但是如果服务已经出现了故障,就很容易把故障传递给依赖它的其他服务,这样很容易出现雪崩了,多以需要使用线程隔离、线程熔断避免级联失败

保护服务的调用者,应该在服务调用者在发起远程调用的时候去做隔离或者做熔断,在SpringCloud在远程调用的时候是基于Feign来实现的,所以我们要想实现隔离和降级,最好的办法是基于Feign去整合Sentinel去做隔离和降级

 通过在配置文件中添加,这样就可以我们的Sentinel可以自动的去监控Feign客户端,把它变成一个链路中的资源,这样一来就可以给它配置限流的规则,隔离的规则、降级的规则等

限流也好,服务被拒绝也好,服务器出现了故障,都是直接抛出一个异常 到前端,这种方式不够友好,给用户体验不好,比较好的处理方案是给用户一个好的提示,告诉他说这里出了什么事,或者返回默认的信息,这些就是失败降级的逻辑

用了Feign的客户端 

 编写返回逻辑:

 

我们的Feign没有在order-service模块里而是抽成了一个模块 

 

 

 加上fallbackFactory

 重启:先访问一下:

 有了Feign的请求路径

 

 (2)Sentinel实现线程隔离和熔断

 

 

扇出:我这个服务依赖于n个其他的服务,这个就叫扇出

 点击流控

 

测试: 

 

这里显示 是正常的因为我们做了逻辑处理,在控制台显示报错,返回一个空的用户 

 

多余的请求都被降级了 

 

 

熔断策略-慢调用 

 

更肥usercontroller:添加睡眠时间,触发熔断策略

 重启:

查询101,因为设置了睡眠,这条数据的响应时间在60毫秒以上了 

 

 查询102的时候,是非常快的,16毫秒,没有触发熔断

 配置降级规则,点击降级

 

就配置好了,降级规则了 

 

 狂刷5次查询101:

 

在访问102:

102本来可以查询到,但是在查询一次:出现问题,而且响应时间是非常的快,10毫秒就结束了,说明用户在查询订单的那一刻直接被熔断了,直接走降级逻辑返回null,所以响应时间没有边长反而变短了

 

 

 过了熔断时间后进入Half-Open:在重新刷新一次,成功了,进入到了Close状态

熔断策略-异常比例  异常数

 

 

修改 controller 

 

 重启:

查询102:会抛出异常:

 

配置熔断:重新配置点击降级按钮

 

 

 102连续访问5次:就会触发熔断规则

 此时访问103,就不能正常访问了:

 

 

 

相关内容

热门资讯

英皇国际股价一度暴跌15% 来源:@投中网微博 #英皇国际166亿元银行借贷逾期#【...
吉光片羽的意思解释 吉光片羽的意思解释吉光片羽的意思:比喻残存的珍贵文物。吉光:古代神话中的神兽名;片羽:一片毛。读音:...
大东南:近期经营情况正常 内外... 每经AI快讯,7月1日,大东南发布股票交易异常波动公告称,公司近期经营情况正常,内外部经营环境未发生...
万华化学:已回购826.83万... 万华化学7月1日公告,公司于2025年5月15日召开2024年年度股东大会,审议通过了《关于以集中竞...
方寸之间探秘敦煌遗书   本报讯(记者牛伟坤)昨天,“方寸真微集万象 寿越千年存古今——中国图书馆文献缩微事业四十年”展览...
煮书的作者是谁? 煮书的作者是谁?论语》里有句话说:“学而不思则罔”。就是说读书时如果不深入思考,不“字求其训,句索其...
农机更“聪明”,丰收有“底气”   6月23日,在新疆天诚农机具制造有限公司设备车间技术部部长陈健在查看设备运转情况。兵团日报常驻记...
丽珠集团(000513.SZ)... 格隆汇7月1日丨丽珠集团(000513.SZ)公布,截至2025年6月30日,公司通过集中竞价交易方...
天问二号在轨获取的地月影像图发...   记者从国家航天局获悉,7月1日,该局发布行星探测工程天问二号探测器在轨获取的地月影像图。目前,天...
三一重工已回购7268万股 金... 7月1日,三一重工(600031)发布公告,截至2025年6月底,已回购7268万股,占公司总股本的...