00:00
好,那么同学们,我们呢,继续学习后面相关的内容,那么呢,上一讲呢,我们讲到了肺。负载均衡,那么呢,详细的介绍过了,Rib u,瑞卡这三个在cloud的知识里面呢,非常重要,望大家呢务必掌握好,那么接下来我们来看一下第八章。段路记,那么呢,老规矩,从我们的学习严谨认真的角度,是不是也要看一下这个单词怎么读啊?那么来大家呢,揉眼。Heres。好,那么呢,大致差不多,那么呢,我们呢,往下看,Kris断路器也叫熔断器,它主要负责spring里面做服务熔断,服务降级的处理,那么呢,它的思想呢,跟前面的spring比方说就是全职通知啊,环绕通知啊,也有相似之处,简单一句话,那么他就是。
01:13
程序出异常了,或者程序长时间这个微服务调用不恰当不合适,长时间没有回应超时了,那么呢,程序该如何办?我总得避免因为钓鱼次服务导致全局的系统瘫痪、挂机或者死机吧。那所以说呢,我们来看一下何为district断路器。那么首先。我们接着来看看我们当前在一个分布市场当中可能会面临的问题。来,我们可以看到在分布式系统当中,它有数十个依赖关系,可能是客户调商品,商品调订单,订单调支付,支付调库存等等等等哈,那么呢,每一个依赖关系将在某个某些时候不可避免的失败。
02:11
我就是没有他服务器宕机了,那怎么办呢。我结合请大家看,假设这是我们的容器,外面是我们的用户请求,它依赖于A。PH hi,如果一切顺利,皆大欢喜,社会和谐,但关键是如果安抚超时,它会出现什么情况呢?那么也就是说我在调的过程当中,大家就挤压在这,我都等着I回应你,比方说现在同学们我问班长,我说你知道肖建同学的电话吗?班长说我去问问孙武,孙武去说我去问一下张三,张三去问一下李四好嘛,那么咱们现在是不是一串线上的蚂蚱呀,那么这个时候我调班长,班长叫张三,张三调李四,李四调孙武,那么这个时候孙武如果没有回复你,我们这系统资源就一直等待,一直耗着,那么这个时候如果一次请求是这样。
03:14
上万次呢?那么系统资源将不可避免的产生超时和。占用紧张的情况,那么呢,大家可以看看这张图片什么,是不是比较严重的自然灾害雪崩啊,那么这个时候我们可以看。多个微服务之间调用的时候,假设A。BC。互相调用,那么也即A调用B和CB和C要调用其他服务,那么这就是所谓的是吗?上出。那么这个时候呢,同学们呢,请抬头,那么可能呢,大家会奇怪什么叫上出呢?看哈,A调BB调CC调BD掉eo吧,那么大家是上看我手上这把折扇,那么就像一把扇子一样,我这样慢慢的打开,那么这样的话呢,依赖的程度是不是加深加重和加宽啊,那么这样的话呢,如果盘成地推的话,只要有一个环节挂了,那么就会导致这个服务整体。
04:20
越来越多的占用系统资源,引起了系统崩溃,也就是我们所说的雪崩效应。OK,那么呢,出现这样的情况,那么也就是说,那比方说马上夏天来了,同学们现在都知道的,你住宿舍要开电脑吧,要开空调吧,要开热水器热的快,那么这个时候用的越来越多的话,电压负荷过高的时候,是不是一定会有种东西叫保险丝啊,那么这个时候呢,为了防止引起火灾,干脆。咔嚓,我断了,保证某一个节点上系统资源呢不会被全占耗光,那么呢?
05:00
这儿可以看是说。单机的后端依赖可能导致所有服上所有资源在几秒钟之内就饱和,这就是我们在做高可用系统高并发的时候所要避免的问题,刷的一分钟一下一瞬间可能就击穿了,那么这个时候呢,我们就要处理干嘛?我们呢?这些程序可能会导致延迟,增加队列线程的,其资源紧张,那么是不是牵一发而动群生啊,你这块紧张呢?会导致其他的也紧张,那么呢,我们会产生更多的机连故障,所以说呢,我们都需要对故障和延迟进行注意隔离和管理,以便单个依赖关系失败了,不要导致整个应用程序或系统瘫痪。导致服务学风的效应出现,OK,那么这个是我们面临问题,那么historys它是什么呢?针对于我们昨天所说分布式的微服务架构,是一整套系统的落地解决方案,那么现在只要是分布式,就会有服务熔断的问题。
06:11
我们不能产生雪崩效应,一个服务调不通了,调不通就调不通了,我们呢,干嘛弃车保帅,那么这个时候干嘛呢?我可以不调它,或者直接返回一个正常的请求,或者返回一个异常的请求,总之一句话,不能因为它拖累整个系统。那么所以说我们这个时候就会看到,对于这种情况,Cloud它呢产生了一个组件叫historyres,专门用于处理分布系统中的延迟和容错,那么在这个系统里面,许多依赖会不可避免的调用失败,比如说超时发程序发生了异常,那么最简单的假设呢,空指针异常假设呢,重组、下标、越界,或者我们的占内存溢出OM等等,总之一句话,就这个为服务提供者挂了。
07:00
那么呢?它能够要保证在一个依赖出问题的情况下不会导致整体服务失败,避免级联故障,以提高分布式系统的弹性和高可用。OK,我相信这点理论。说一句保险丝大家应该都能了解吧,那么重要的请看红色,类似于熔断保险丝。前面的这些就不读了,看重要的红色,向调用方返回一个符合预期的可处理的备选响应,注意,这个单词叫back。待会儿我们还会碰到,那么呢?这个时候呢,再次读一遍,像调用方,也就是消费者反馈一个符合预期的可处理的备选响应,而不是长时间的等待或者抛出调无法调用该方法的异常,那么这个时候就保证了服务调用方消费者的线程不会被长时间不必要的占用,从而避免故障在分布系统中的蔓延乃至细胞。OK,它是一种保护机制。那么来。
08:01
功能主要是降级等等这些,那么呢,不再多说,待会我们看。案例也是来官网资料,老规矩都要大家来看一下,那么呢,昨天说过了,源码级别的素在GI up上面,那大家看是不是netflex公司下面的historys上面都有啊,所以说呢,杨哥的案例和代码,包括自个人的思考都是参考维基百科vki,那么呢,看看这些以后,那么呢,比方说我们下面马上就要碰到的historys command这个是个什么东东,就来自于官网好。那么呢,这就给大家呢,简单的说了一下,断路器它是什么?总之一句话就是避免单个调用导致全局挂了,OK,类似于我们的熔断保险丝。
我来说两句