00:00
好,同学们,我们继续。上一次我们终于完成了我们的服务降级,那么接下来同学们再接再厉,乘胜追击,我们继续攀爬知识的高峰,说一下服务熔断,那这个东东是啥呢?不妨先回到我们之前第一次讲的这个重要概念啊,降级我们来看一下。服务期满稍后再试啊,不让客户端等待并立刻反馈,有提示啊,For back OK,快快的过了。来,那么下面哪些情况会发生降级?运行异常,Int a10除以零超时啊,不多说了吧,服务熔断触发,服务降级,还包括我们的线程池也会导致。请看熔断会触发什么服务降级。好,那么接下来。到这儿服务熔断是个什么鬼?类比保险丝达到最大访问以后,直接拒绝反问拉闸限电,然后调用服务降级的方法,并反馈友好提示。
01:07
先拉闸后。返回。一句话,就是我们家庭的电器的最常用的保险丝。它呢,是先降级了,进而熔断,然后注意恢复调用链路,听懂了吗?熔断可以这么把它偏激的理解为它也是降级的一种。换句话说,你们家的电器好好的,现在的话呢,各种电器狂开跳闸了,那回答我还能不能用,是不是也是降级的一种特例,但是这个熔断比降级更厉害,比我们这儿所谓的服务降级更厉害,它。道行深着呢,那么这两个一定要给我区分啦。服务降级和服务熔断两回事,听懂就跟spring跟spring cloud的关系,就跟Java跟javascript的关系,就跟西红柿跟西瓜的关系O吧。
02:02
那么下面开高。首先,什么是断路器?家里保险丝?保险丝大家都玩过吧?不带电的那种。没问题吧,没电的OK。不废话,那么首先熔断是什么?这个哪个提出来的,那么兄弟们熔断来。是应对雪崩效应的一种微服务的服务链路保护机制。当上出链路的某个微服出错,不可用,或者响应时间太长,总之一句话,就不健康了,我们要进行服务的降级,进而怎么着熔断该节点的微服务调用快速返回错误的响应信息。保险丝啊,过窄了,过热了,跳闸。家里面停电了,不能用了。当检测到该节点为辅调用响应正常以后怎么着?注意,牛逼在这儿恢复调用链路。你们家跳闸了,现在你会发现哟,电热毯也开,电暖片也开,空调也开,热水器也开,跳闸一个都不能用,那回答我只要保险丝跳闸了,你懂的,你会干什么?关掉几个比较容易给你惹事的电热器,然后是不是再把闸到抽回去恢复通电使用啊?所以说服务熔断机制有个牛逼的功能叫恢复调用链路,它不是像。
03:26
福将及back那样反回给你个友好提示啊,总之一句话,给你兜底,不能用了就完活,它是坏的,过程当中会有点自我修复的味道,好,待会我们在案例当中会给大家用代码和配置来演示啊。所以在spring cloud框架里面,熔断机制呢,也是通过这个key的实现,它会监控各个微复件的调用情况,当失败调用到一定的阈值的时候,比方说缺省是。五秒钟以内20次调用失败,那么就会启动熔断机制啊,保险丝跳闸断电听到那么熔断机制注解还是我们这个command好,那么熔断是什么?那么大家了解了以后,人化讲完了,我们要学术负二的lawyer大神论文谁提出来的?还是马丁福勒,那么他是微服务架构的。
04:16
倡导者那么提出了服务熔断这个概念,C breaker。那么来,同学们。来吧,从头开始看,那么这个时候,兄弟们,马丁福勒又是这个哥们。他是不是给我们贡献了很多新技术啊,看看这造型没错吧,一四年的事儿,下面这个就不是微服务了,这个是服务熔断,又是他的个人技术博客,大家要是关注的话可以去看看啊,顺便说一下,如果你说你是分布式微服务架构的高手,如果连这个。都没看过,那是不大合适的,那么这一圈巴拉巴拉巴拉,我们待会用代码说有兴趣的同学干嘛,自己全文翻译了以后去看一下,时间的关系我们呢,不在这儿,带着大家照本宣科的去读,都很简单的英语,那么接下来重要的是这个图。
05:10
明白,好,那么请同学们稍微看一下,我先暂停一下录屏,好,那么同学们。好,那么同学们都看了一下,部分同学现在给我打字留言说是看不懂是吧?好,那么下面英文的看不懂对吧,我不废话,我给你翻译成中文。兄弟们。这个简单的断路器避免了在电路断开时受到保护的呼叫,但是当情况恢复的时候,将要外部干预才能将其重置。对于建筑物中的电路断器,这是一种合理的方法。布拉布拉布拉。我相信那中文读完了,你也照样看不懂。OK,这就是为什么我说的看书其实学的很慢的,没太大用。好,但是呢,不看书不行,明白了吧,重要是你看懂了以后真的折腾明白了以后,你要做案例给你配通,那么下面听杨哥说一下。
06:04
它的意思是这样,不用讲三种状态,Close open,半开,那它的意思是什么概念呢啊。我们家的这个保险丝啊。正常使用。保险丝一定是没有跳闸,比如说就是关闭的,但是突然啊。电器太多了。马上保险丝跳闸断电开了,OK。好,说能用和不能用。那么什么叫半开呢?它的一种设计机制就是假设现在跳闸限电了。我们的熔断器已经是open了。那么他做了一个中间状态。他会尝试着假设现在。跳闸限电了以后所有电器都不能用,那么假设现在又有少量的请求过来了,我尝试着能不能恢复,比如说我现在啊,只能承受一秒钟是100次的并发调用,你现在给我干到了500次,翻了五倍上去,我死了,直接跳闸宣桌子不干了。
07:11
过了一会儿没有那么高的并发量了,我觉得我慢慢的能够承接的住了。比方说现在一秒钟只来。72次,我的上限是100,那么这个时候我就先试试放过去一波能不能成高,慢慢的放着放着放着发现哎能够适应了,那么我再把这个闸到合上,先从放着,放着的过程当中先从半开,最后再把断路器合上,Close,保证大家能够使用。OK,好,那么没关系,我相信就听讲这个理论,因为杨哥懂了,觉得说理所当然。但是各位同学第一次听。由于大家还是非计算机专业,那么所以说不着急,静下心来跟着我咬着牙把这个硬骨头啃下来,那么服务熔断就通了,理论上我们呢,先把它讲到这儿,你先暂时给我记着这个意思啊。
08:09
调用响应正常以后,恢复调用链路,那么是不是就是我们这官网说的,慢慢的可以有一个恢复的过程,清楚好你就先懂到这就OK,下面咱们不废话。理论实操小总结还是三板斧彻底给大家整明白好理论知识大家先有个。耳熟,混个眼熟,先到这儿。
我来说两句