hystris限流熔断降级

本文探讨了微服务架构中遇到的问题,如缓存雪崩、服务卡死导致的连锁耗尽,以及如何通过线程池和信号量进行资源隔离。介绍了Hystrix框架在实现资源隔离和降级中的应用,包括线程池和信号量配置,以及如何处理超时和线程不归还的情况。同时,文章提到了如何利用缓存提高服务性能,并给出了实际的代码示例和架构设计。
摘要由CSDN通过智能技术生成

地址:

---01---

缓存雪崩:https://blog.csdn.net/kongtiao5/article/details/82771694

---02---

一个服务卡死了,其上游的服务也卡死了,导致资源的连锁耗尽了。

画图:

---03---

小型电商网站展示的架构:

大型的电商网站:

---04---

如果你是下载的本地的jar包,则需要安装下。

---05---

---06---

主要还是线程没有归还导致的。

---07---

用hystrix进行资源的隔离:

一个最基本的资源隔离:

XXXGroup只是一个线程池,名称一样就是一个线程池。

每返回一条数据就onNest全部返回就complated。

 

如果你不想等待的话:

总结:

---08---

信号量:https://blog.csdn.net/hechurui/article/details/49508439?utm_medium=distribute.pc_relevant.none-task-blog-searchFromBaidu-3.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-searchFromBaidu-3.control

我们解释下什么是tomcat的线程,什么是自己的线程

调用execute就是交给线程池某一个线程去执行的。

区别:关于超时,线程池隔离的话tomcat是可以捕捉到的

使用信号量隔离的实战:

实战:默认的信号量是10

---09---

如何设置:

hystrix线程池和接口的划分。

每一个都要设置command和自己的组,其中command默认是类的名字,组是要设置的。

补充:

我们自己改造下:

注意那三个设置。

属于同一个group但是是不同的线程池。

---

参数的设置:

---

---10---

hystirx的线程超时了 是没法终止的 只能抛出异常来。

架构图:

---11---

原理:

---

第一步:首先写filter

第二步:注册到springboort中

第三步:

结合一个业务背景

如何设计?

注意上面的getCacheKey是重写的就是在缓存中取出来的。

调用:

---

其他的方法:

hystrix的cache的使用:https://blog.csdn.net/zhuchuangang/article/details/74566185

---12---

代码举例:

在run方法里面,无论怎么调用都是报错的。

---

降级就讲解完毕了。

---13---

下面看下熔断的基本知识点:

 测试下:我们设置一报错就降级的机制。

15-30是-1

什么是短路,和降级的区别,熔断就是我直接请求走降级,根本不去走方法了,降级是走方法再走降级的策略。

改下测试的用例:

---14---

什么是舱壁隔离技术?

接口的限流实验:

限流的实验:

等待队列的大小是8

解释:

---15---

超时:

举例:

---16---

---17---

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值