来源公众号孤独烟 , 作者孤独烟引言
首先 , 之所以谈这个话题呢 , 是发现现在很多人对微服务的设计缺乏认识 , 所以写一篇扫盲文 。当然 , 考虑到目前大多微服务的文章都是口水文 , 烟哥争取将实现方式讲透 , 点清楚 , 让大家有所收获!
OK , 我要先说明一下 , 我有很长一段时间将服务降级和服务熔断混在一起 , 认为是一回事!
为什么我会有这样的误解呢?
针对下面的情形 , 如图所示
【谈谈服务雪崩、降级与熔断】
文章插图
当Service A调用Service B , 失败多次达到一定阀值 , Service A不会再去调Service B , 而会去执行本地的降级方法!
对于这么一套机制:在Spring cloud中结合Hystrix,将其称为熔断降级!
所以我当时就以为是一回事了 , 毕竟熔断和降级是一起发生的 , 而且这二者的概念太相近了!
后面接触了多了 , 发现自己理解的还是太狭隘了 , 因此本文中带着点我自己的见解 , 大家如果有不同意见 , 请轻喷!毕竟还有很多人认为两者是一致的!
正文
服务雪崩
OK , 我们从服务雪崩开始讲起!假设存在如下调用链
文章插图
而此时 , Service A的流量波动很大 , 流量经常会突然性增加!那么在这种情况下 , 就算Service A能扛得住请求 , Service B和Service C未必能扛得住这突发的请求 。
此时 , 如果Service C因为抗不住请求 , 变得不可用 。那么Service B的请求也会阻塞 , 慢慢耗尽Service B的线程资源 , Service B就会变得不可用 。紧接着 , Service A也会不可用 , 这一过程如下图所示
文章插图
如上图所示 , 一个服务失败 , 导致整条链路的服务都失败的情形 , 我们称之为服务雪崩 。
ps:谁发明的这个词 , 真是面试装13必备!
那么 , 服务熔断和服务降级就可以视为解决服务雪崩的手段之一 。
服务熔断
那么 , 什么是服务熔断呢?
服务熔断:当下游的服务因为某种原因突然
推荐阅读
- 【成都搬家公司电话】成都搬家公司服务电话
- 如何计算存储和服务器的机械磁盘性能?
- ssh访问服务器和snap/apt的使用
- App与服务器的通信接口如何才能设计得更好?
- 美的热水器维修售后服务中心介绍
- 后勤服务中心2020年工作总结 服务行业工作总结
- 淘宝联盟扣税和技术服务费 淘宝联盟要交税吗
- Mac完全免费的Apache服务器环境套件
- 谈谈线上CPU100%排查套路
- 原滋原味高品质茶馆服务京城百姓