引言
首先,之所以谈这个话题呢,是发现现在很多人对微服务的设计缺乏认识,所以写一篇扫盲文。当然,考虑到目前大多微服务的文章都是口水文,烟哥争取将实现方式讲透,点清楚,让大家有所收获! OK,我要先说明一下,我有很长一段时间将服务降级和服务熔断混在一起,认为是一回事! 为什么我会有这样的误解呢? 针对下面的情形,如图所示
![d6239a533513d68d52a1820e0bf0bace.png](https://i-blog.csdnimg.cn/blog_migrate/3313f7c3e9bb4965885949fc60d92a02.jpeg)
当Service A
调用Service B
,失败多次达到一定阀值,Service A
不会再去调Service B
,而会去执行本地的降级方法! 对于这么一套机制:在Spring cloud中结合Hystrix,将其称为熔断降级!
所以我当时就以为是一回事了,毕竟熔断和降级是一起发生的,而且这二者的概念太相近了!后面接触了多了,发现自己理解的还是太狭隘了,因此本文中带着点我自己的见解,大家如果有不同意见,请轻喷!毕竟还有很多人认为两者是一致的!
正文
服务雪崩
OK,我们从服务雪崩开始讲起!假设存在如下调用链