SpringCloud 尚硅谷 周阳教程学习 -- 第三部分中级 01 -- Hystrix

https://www.bilibili.com/video/BV18E411x7eT?p=47
47----64

Hystrix 作用

Hystrix 是处理分布式系统的 延迟 和 容错 的开源库 ,分布式系统中很多调用会 超时,异常等,Hystrix 可以让一个依赖出问题的情况下,不会导致整体失败,避免级联故障,提高分布式系统的弹性。

“断路器”是一种类似保险丝的开关装置,当出现问题,向调用方返回一个符合预期的可处理的备选相应(FallBack) ,而不是长时间等待或者抛出异常,这样就保证了调用方线程不会被长时间占用,避免了故障在分布式系统中蔓延,乃至雪崩。

hystrix 官网

https://github.com/Netflix/Hystrix/wiki/How-To-Use
Hystrix进入停止更新状态, 官方推荐使用resilience4j替换Hystrix,周阳推荐使用alibaba的sentinel 替换 Hystrix

Hystrix
https://github.com/Netflix/Hystrix/wiki

在这里插入图片描述

hystrix 作用

hystrix 作用 1. 服务降级 fallback (等于if eles 当正常不可用,要有一个兜底的方案 ,比如服务器忙,提示“请稍后再试”的友好提示)
hystrix 作用 2. 服务熔断 break 熔断分三步 1 服务降级 2 服务熔断 3 回复调用链路 (类似保险丝,当服务到达最大访问限制后,拒绝访问,拉闸限电,然后调用服务降级方法返回友好提示)
hystrix 作用 3 服务限流 flowlimit (针对秒杀等高并发操作,大家排队,严禁一窝蜂拥挤,有序进行处理 )

触发服务降级的原因: 程序异常、超时、服务熔断出发服务降级、

http://localhost:7001/
http://localhost:8001/payment/hystrix/ok/2
http://localhost:8001/payment/hystrix/timeout/2

JMETER 并发测试工具

https://www.cnblogs.com/TankXiao/p/4045439.html
下载jmeter 解压到目录**下面
C:\developer_tools\apache-jmeter-5.2.1\bin
执行jmeter.bat 开启jmeter工具

没有压力测试的时候,运行
http://localhost:8001/payment/hystrix/ok/2 秒回

有压力测试的时候,运行
http://localhost:8001/payment/hystrix/ok/2 要等待一段时间

http://localhost:7001/ ----可以访问

http://localhost:8001/payment/hystrix/ok/2 ----可以访问
http://localhost:8001/payment/hystrix/timeout/2 -----可以访问(等三秒)

http://localhost/consumer/payment/hystrix/ok/2 ----可以访问
http://localhost/consumer/payment/hystrix/timout/2 -----不可以访问

当开启jmeter 的时候,访问下面的地址,有时可以访问,有时不可以访问
,原因是资源被jmeter访问的占用了
http://localhost/consumer/payment/hystrix/ok/2

在这里插入图片描述

在这里插入图片描述在这里插入图片描述

http://localhost:8001/payment/hystrix/ok/2 -------访问正常
http://localhost:8001/payment/hystrix/timeout/2 ----访问跳转到兜底的方法 paymentInfo_TimeOutHandler
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述http://localhost:7001/

http://localhost:8001/payment/hystrix/ok/2
http://localhost:8001/payment/hystrix/timeout/2

http://localhost/consumer/payment/hystrix/ok/2
http://localhost/consumer/payment/hystrix/timeout/2

在这里插入图片描述

DefaultProperties全局降级方法

以上所有,异常处理方法与业务处理方法混用,比较乱,在方法上各自配置超时等参数,也很乱。

  1. 在controller 方法中设置全局降级方法

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

服务熔断

马丁富勒 服务熔断理论提出者
https://martinfowler.com/bliki/CircuitBreaker.html
理论
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述在这里插入图片描述

Hystrix Dashboard 服务监控

localhost:9001/hystrix

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值