00:01
嗯,那么这时候我们说哈,我们熔断是在provider这做的,那咱们就在provider这边呢,你想用S的功能就得加入它的start。啊对了,咱们把这刚才的这个代码哈,咱们得给他。呃,保存一份。Parent。对,我们上一部分呢,这个叫做。呃,使用了一下这个肺。哎,保存了,这样咱们就可以。放心的,来这儿可以改啊。在provider里边。哎,我们加上刚才的这个依赖。
01:02
他又要去下载了。哎,好嘞,嗯。那么有了这个以后呢,嗯。呃,这是一步哈,然后呢,下一步呢,主启动类上面加一个enable circuit breaker这个这个注解。内部就是启用的意思,这个circuit。Circuit呢是一个。回路环路的这个意思。啊,回路环路的意思。那这个这是一个环路,环路呢,Breaker。Breaker breaker断开嘛,Breaker就是断路器嘛,所以是一个环路的一个断路器啊,所以这时候就是启用一个断路器的功能啊,就是加的是这个注解啊,这个注解里边没有没有hat trick的这个字母。
02:08
呃,Provider这边我们去加上一个。Circuit。Breaker啊,这个注解。哎,我们说呢,是使用。这个注解。开启断路器这个功能。这要是按咱们中国传统文化啊,或者说咱们老百姓要讲究的话,这个词这个有点不吉利。啊,这个断路是吧,这个把路给断掉,这事其实不太好。老外就不讲究这个了是吧啊。呃。哎,把这个把把这个注解加上啊,这开启这功能,不开启这功能,这个是就是你是没有这个效果的啊,用result edit咱们在这儿吧,咱们我看看啊,这事咱们放到这个common里面啊。
03:12
放到common里边,因为这个相当于是一个工具类。来一个U艇。啊,这个类的名叫result。CTRLC。整个项目统一使用这个类型作为as请求或远程方法调用返回响应的数据格式啊。哎,成功的是这个值,失败是这个值,这是没有消息的话用这个,没数据的话用这个。呃,然后呢,这是一个。哎,这是成功的带数据的成功啊成功的不带数据的啊,没有消息没有数据。他在这用了一个string。
04:01
呃。啊对,成功没有数据,其实这边也也其实就是4G啊。我们我们咱们咱们之前写的时候,这是用了一个泛型啊,它这个就是简单一点,这成功带出去的啊,这声明一个泛型,这传入声明的泛型啊,这是我们,哎跟这个地方泛型它类型得一致,成功的带数据的,失败的失败就肯定也没法带数据的啊,就是这个哎。呃,只不过失败的时候也不太不太确定他这边返回的是什么类型。后边是这三个属性啊,无三构造器,有三构造器to兔子这方法干的方法啊,是有这么一个,有这么1RESULT enity。哎,把这个拿过来。呃,再然后呢,是我们这边写handle的方法。这个是原本的方法。原本的方法,原本的方法上边呢,加一个s command。哎,指定一个for back method,意思是说呢,我这个方法。我这个方法啊,就是我们这个好的方法,出问题以后去找谁。
05:03
出问题以后去找谁啊,哎,这边for back method这个这个方法就是这个方法啊,Get e backup backup,你看它传入的参数是一样的。返回的类型也是一样的,返回的类型也是一样的,哎,就是保证呢,说你这个调用失败的话,可以再来调用这个方法。然后它俩是在一个类里边的啊,它俩在一个类里边,一个类里边呢,那你说传入的参数都一样了,那你就得只能是方法名不一样啊,方法名一样,参数列表就得不一样,参数列表一样,方法名就得不一样,对吧?不然的话区分不开了,哎。哎,看这个这个这个你看这个。确实是啊,你来一个应急预案,或者说叫做备选方案,或者叫做这个备份这样的东西啊,特别像什么呢?老皇上感觉自己岁数大了,为了江山后继有人是吧,得立一个太子啊。
06:00
国之储君。储君是吧,这个储蓄的储是吧,哎,在这儿存着,万一老皇上有一天这个。加崩了是吧,啊,那你这个这个这个我们的王朝还得这个延续啊是吧。好像这个。呃,历朝历代这个这个这个权力在更迭的时候都是非常的动荡。据说呢,这个权力更迭的这个最平稳的就是谁呢。乾隆把皇位传给他儿子。因为乾隆,乾隆他当皇上的时候,他就发誓了,说我不,不能,我在位的时间绝对不能超过我爷爷。啊,他康熙在位60几年来着。60多年啊,乾隆说我乾隆登基的时候就立誓,我不能超过,我就不超过60年,结果他真的到60年的时候了。那时候就传位给嘉庆了,他是当太上皇是吧?哎,上朝的时候你看爷俩都坐在都都坐上面是吧,一人坐一边是吧。
07:04
咱们什么时候能体验一下这个事儿?嗯。我给放哪了,我给。我给放里边了是吧。看错了。对,应该放在common里边啊这个东西。嗯,这个有就行啊,这个倒不是特别那啥的,在provider这里边呢,我们去找一下这个handler。Control shift all了。你们是不是最期待那个翻牌的这个环节?你不要说的这么直白。我们写一个正常的方法啊。Request mapping。A provider get e MP。
08:02
这个呢叫做呃,位置一个。Breaker。咱们时髦一点,来一个。A circuit break。把它变成小写的。然后呢?返回一个result entity。然后这个里边的类型呢,是就返回一个employee哈。Get e。With circuit breaker。呃,再准备另外一个备用的方法。哎,返回的一样的,也是这个类型。哎,这个叫做这个就是这个方法的一个备份。
09:02
嗯,然后呢,说这个里边吧。咱们正常的话呢,就是照a.success位置data啊,这边咱们自己扭一个employ就完事了。哎,这边传个。嗯,666。666.66。等咱们租个影视城是吧,租一个拍清宫戏的影视城啊。然后咱们这个,咱们这个,呃,去借来这个当皇上那个衣服是吧,咱们可以大伙挨个去体验一下啊。啊,我给你们扮演这个太监啊,我站你们旁边,我给你喊上朝是吧?啊。呃。那个那个那个对,我给你举个牌让你翻是吧。然后你只能翻牌子。
10:01
呃,然后这里边儿呢,咱们给他制造点问题哈。这个咋能制造问题呢?传一个参数。传个啥玩意儿呢?Signal这个叫信号的意思,是不是这么写?我看这写的是啥玩意儿哈。Signal。就是信号啊,传个信号。这个signal呢,咱们去判断一下哈。他如果要是等于,等于个啥呢。啊,这是个棒。就报一下是吧,这个就是说这个。呃,就就爆炸了,是不是就抛异常了吗。嗯,我们还想给他整一个超时的,嗯。
11:05
嗯。这个咱们来一个。Quick吧。哎,爆炸,快速的爆炸。哎,如果是等于C根的话。这边咱们就throw,一个new,一个runtime exception。就不需要消息了啊,这边就抛一场就完事了。呃,然后呢?说我们这个。呃,如果来一个slow。来一个,等于西格这边呢,咱们让现成的睡一会。就模仿那个超时的这个啊。哎,然后你要是传别的话就正常就执行了,哎。
12:04
然后呢,这边呢,得解用个注解哈。这个叫做一个tricks,一个。Command。指定一个fall back method,指定一个名,就是这个方法的名。这个注解。指定一下。呃,指定一下就是当前方法,哎,这个。出问题时。调用的备份方法啊。这个就是使用我们fall back method的这个属性来制定。喂。好呃,然后呢,这个方法上面呢,咱们给他传一样的参数。
13:03
嗯,查一下参数。呃,返回值,那这边咱们就得返回它一个失败的问题了。点field哈。失败了,当然这个我们希望能够有个消息。最好这个消息呢,是这边抛一场的这个消息。那然后我们看看这个事儿哈。看一眼这个spring官网上边,我好像。有印象,有什么办法能够拿到它?我们看看他这边官网是咋说的呢。我们。用的是这个。我们是SR4还是二?的这玩意儿,这个和他这还不太一样啊,我们是S22。他是四海。应该算是一个小版本的区别哈。嗯,反正我们反正反正咱们也要测试嘛,看看他说这个对不对哈。呃,找一下,如果我们觉得这么找费劲的话呢,咱们搜一下这个high啊。
14:03
呃,但是报的。Client。好像还不是这个东西,CTRLF再找一下啊。呃,这个线程池,哎。Providing a hat trick's。这是啥呀,这是。在做了一遍。不是这个。啊,这个finris fors。看看是不是这个。里边啊,这里边儿,这是这是那个降级的那个,对复这边是降级的那个。这玩意儿有没有这个再再找一下啊。Forbas。啊,这个circuit breaker with hat tricks,哎,我们应该是找这个,哎,我去。
15:05
这么几句话。Hatches command。See the government。就是到API文档这了。就是他给介绍一下,他这个搞这个失败以后走。嗯,然后呢,去看一下这里边是吧,Proper。Value。Indicator。这是那个,这是他的一个监控哈。不在这儿,我想我想找的那个东西还不在这儿。这就是说看这个文档吧,它是一个挺讨厌一个地方吧,就是说它这个有的东西呢,跟这个不是特别严格的能对应到它这个标题。
16:00
嗯。有没有call back?我这个这个这个东西就就有点儿离谱了。就是FA。He tricks。不,Include。看一下这里边。网速有点慢,Circuit breaker。那我们还是这个东西还是跟断路器是有关系的呀。有一个什么东西,把这个异常的,他这边异常的信息给我们传过来。
17:01
呃。找首command properties。Ator。Meris strip。这个也不是,这是这是我们去去做那个什么的,去做那个监控的。找不到了吗?For method哈。我记得好像是个什么factory。How to include,这只是说你怎么把它包含进来?呃,For back method,它这也只是指定一下这个方法看一下啊,好像我印象当中就在这啊。To configure the command you can use这个属性。
18:02
呃,用一一个这个东西的list。去看细节。他这也没有说别的。好吧,这个这个等完了我再找一找吧,咱们现在先看它这个,先看它这个段路能够起作用再说啊。这个消息呢,就我们自己去写一个消息吧。啊,这个就是说呢,我们,呃。呃,方法出现问题。啊,方法。呃,执行出现问题。执行这个段路。好嘞,嗯,再检查检查啊。加了这个注解了,意思说呢,你这里边儿要是出问题就走这个方法啊,就就就找他。这个参数也传过来。
19:01
然后这个参数的话呢,想带我们也可以把这个参数带上。啊,然后呢,这边message过来,这边返回失败返回同样的类型。啊,那应该我们这个provider现在应该大致上准备好了。呃,下一步呢,我们就是说去,咱们把它跑起来去试一下。
我来说两句