00:00
好,各位同学,我们人数到齐了,开始正式上课,那恭喜各位亲,这几天呢,跟着杨哥完成了前三块,U u keeper pencil RI fan open fan等等,我们的注册中心和调用都已经讲解完毕,那么接下来进入到我们一个非常重要的框架,那么服务降级,Historys。豪猪哥啊,也就是我们这儿所要讲的短路器,好,那么现在啊,根据我们的前沿简介history啊,服务降级的这个框架,目前cloud的官方呢,来Fla公司呢是停止更新了,但是这哥们设计理念非常的优秀,出道就是巅峰,服务降级,服务熔断,服务限流,服务隔离等等等等一系列的设计思想,是后面框架借鉴或者说抄作业的必备良药,所以说我们有必要深入的了解一下我们的historys啊,那么resilience for Java。
01:05
这个东东在国内用的比较少,虽然说它官网上他推荐使用这个,但是我们这次啊,结合我们中国特色,我们中国的国情,甚至就是说北上广这样一线城市啊,我们主要是讲解它和我们的阿里巴巴的SOK,那么接下来我们呢,将按照着我们第十章的这五节的大纲给大家进行详细的介绍。那么一定要把服务降级,服务段路等等这些概念彻底整明白,搞懂,并且最好用在自己的项目当中,非常的强大,好,第十章是我们的一个分水岭,基本上从他开始到了我们的终极部分,那么希望同学们能够跟着杨哥继续走下来,将我们的spring cloud进行到底。好,那么。我们开始来吧。首先我们现在随着系统拆分了以后,分布式会面临着一堆问题,那么现在我们在软件开发当中一定会有一句话叫高内聚低耦合,现在我们的这些工程已经挨个挨个分开了,肯定耦合度是低了,但是现在我们经常会出现八零掉8001 8001,假设又掉80022又掉四,四又掉六。
02:22
挨个的调用,链路会越来越长,一条绳上的蚂蚱一个出事了,那么一定会全体连坐。所以说。在实际的分布式面临过程当中。对于复杂的分布式体系,我们可能有数十个依赖。每个依赖。不可避免的会失败,有网络卡顿吧,有网络调用超时吧,有程序出错吧,甚至是机房断电吧,那么这个时候,假设我们挨个挨个的这样去调。ABCDEFG互相调,那么如果左图当中的请求需要调用a PH hi这四个服务,一切顺利,我们皆大欢喜,关键如果I服务超时了,会出现什么情况啊?那么是不是因为一个服务就像新冠肺炎一样,导致全体被传染体系统整体下降,最终产生可怕的是不是服务血崩垮了?那么所以说我们在这儿。
03:19
多个微负之间调用的时候,假设A调BB调C,巴拉巴拉巴拉,范围越来越广,就像一把张开的折扇,那么这种范围波及面越来越广的调动,调用链路越来越长的调用,那么这个就是所谓的扇出效应,下一把折扇打开,如果上出的链路上某个微服调用时间过长了,不可用了,哎呀,机房着火,大楼断电,服务卡顿,网络拥堵,那么会大家都挤在这儿,瞬间就会把我们的CPU和内存打满,进而引起崩溃,所谓产生了恐怖的雪崩效应,说穿了是不是我们的服务的高可用受到了破坏啊,那么好,所以对于高流量的应用来说,我们单机的后端依赖就可能导致所有服务器的资源几秒钟内打满了。
04:09
会导致整个系统不可用的机连故障,那么看完以后大家我相信都会明白,那么所以说我们这样的机连故障的避免,就需要有一种兜底的方案,或者是一种链路。中断的方案,所谓的服务降级,好,那么这个是什么来heres呢?对于上面的问题,Res这种解决方案应运而生,它是分布式系统的延迟和容错的开源库,在这个里面。我们呢,调用当中不可避免会产生长链路,调用以后。掉的越多,总会有失败,超时、际场等等,那么我们需要保证在一个依赖出问题情况下,不会导致什么鬼整体服务失败,就说不要全体连锁,避免什么全体传染,说穿了是不是就避免机电故障进行各自的隔离啊?好,那么增加我们分布式系统的弹性,那么断路器它本身就是一种开关装置啊,后面会说相当于现在理解起来就是我们家里面的保险丝啊。
05:14
某个单元故障以后,通过这个故障监号,那么给调用方返回一个符合的可预期的什么鬼备选响应for back,说穿了就是有一个兜底的,这事正常流程走不通了,那请你给我个说法,我异常流程该怎么处理好,而不是长时间的等待或者抛出调用方法无法处理的异常,这样就可以保证我们服务方的线程不会被长时间的不必要的占用,避免了故障在整个分布式统战的蔓延甚至雪崩,这个就是我们的服务熔断的理念。好,那么这个理念下面我们就用history stricts来给大家进行讲解。
我来说两句