00:00
好,这是我们所看到的这个故障转移的一个案例,对吧,故障转移的案例最后呢,都是一样的啊,就查看这个进程啊,或者说去K,然后就看反应情况对吧?啊这都可以啊呃,那接下来呢,我们这个里边没放啊,我们接下来对于刚才我们说了,只要对于我们现有的配置件稍加的,只要改改谁就行了,如果说我们现在想把这个故障转移改成负载均衡。我们只要改谁就行了,FROM1FROM2FROM3这三个配置文件,对吧,我们是不是只需要改分一就够了,二三需要动了,不需要对吧,二三是不需要动的,所以我们只需要改一就够了,好,那我们这样我们这样就改啊,CD到JOB2里边,我把这个呢,CD一分出来我就改。然后叫这个ne cat from对吧,Cp from ne cat from,我这个呢,改成二,它是用来做这个。
01:06
负载均衡的对吧?好,那我们对着官方文档,然后呢,我们去改一下我们的内容,我们先把这个文件给它打开啊,到哈102里边,然后呢,进到这个job底下,然后有一个规二里边的一个二对吧,这个二吧对吧,点开他,他总让我花钱去购买是吧?但是没有钱啊好呃,那这个东西需要改吗?大家想一想,不用不用改吧,那这个呢,这是S对吧?我们要改的是不是S组这边的内容啊,那其实要改的就这一块,是不是就要改的是它,然后后面这个东西我们先想一想,需要改吗?不用改对吧,就是我们主要改的就是这块的内容。
02:01
啊,那第一个这个东西肯定不行了,得改掉对吧?好然后看下我们的官方呢,刚才我们搜到这个所谓的这个think。Process对吧,找到这个这那我们应该给它改成balance,第一个这个类型得改一下,那load balance当中,我们再切到load balance的一个配置信息当中,对吧,切到这来。好先到这来,好,那么我们来看一下这个内容啊,这里边儿他要配什么东西啊。其实只要改一下load balance就行了,其他东西都有默认值对不对啊,可以不动啊,那么这里面它还需要这个优先级这些东西吗?不需要。就不需要了,对吧,他没有什么优先级,之前我就说过负载均衡话,大家一样的,对吧,他完全不需要这个所谓的负载均衡啊,就所谓的这个优先级啊,这些东西对吧,那我们看一下他还要配什么东西,其他都还好,对吧?呃,那我们默认的选择器的一个策略呢,用的是什么软德罗饼轮询,那我们就用轮巡啊,就用轮巡啊,呃,大家想的是这块,我们用的轮询,大家想的是不是我们发一条数据,我假如说发一条,哎,第一个有的发第二条就一定是第二个吗?
03:23
我们用的是轮询,我发第一条,第一个发第二条就一定是第二个,我现在有两个对吧,两个对接的是不是两个分别打印到控制台的,现在是这种情况对吧?那我这边呢,Source里面我发一条数据啊,假如说是你接收到了,我发第二条的时候,能确保我们注意啊,策略是轮行啊,能确保一定是他吗?为什么第二条时间要求?
04:03
为什么呢?为什么不一定呢?也就是说有可能我发了一条数据,我再发一条,还有可能是两个人在同一个端口当中打出来的,对不对,为什么呢?大家想一想,不是轮询吗?不是轮询吗?我们先想一下这个问题。啊,大家思考一下,我们把这个呢,来把它提起来对吧,我们看一下效果,然后呢,大家还是保持这个思考啊,轮询,我们今天说的轮询指的什么意思啊,不就是挨着来吗?你你先一次我一次我一次对吧,然后又从头来了对吧?啊那有同学说,哎,不是的,就有可能这个数据呢,连续两条数据呢,它发到同一个窗口里边了啊大家思考一下,可不可能存在这种情况,如果说真的存在这种情况,那是什么原因导致的啊,思考一下啊。行,那这个时候呢,GROUP2我们已经有了,对吧?啊,我们只需要改一下它这个策略就行,其他的不用动,接下来呢,我还是把这个任务干什么,是不是先启服务端啊,三起来打印到控制台,二起来打印到控制台对吧?已经启动好,这边呢也已经启动了,启动好以后,接下来我们启动它的时候,注意要改一个配置文件了。
05:23
到这儿是不是应该改成二点客服没问题吧,因为我们用的不是同一个配置文件了,好走。啊,这边呢,也已经监听上了,对吧?啊,刚才是不是到这个启动这个日志,刚才我们把这个客户端起来之后,因为你客户端连了我,我这边要有信息输出的,接下来还是一样的,到第一个窗口当中,我们就开启五个端口,好那我们测试啊好了,这个时候到底是他还是它能说的清楚吗?不知道了,不像刚才是不是我们非常确定一定是打印到这个三呢?因为优先级更高嘛,相当于对吧,这个时候你能说一定是二或者一定是三吗?谁都说不清楚了,对吧,我们只能看效果好啊走一下,我们多等一会,看那个蓝点对不对啊,就等着就行了啊。
06:12
三三对吧,哎,三来了哈呢,数据在这,然后接下来我再来一个艾主播。哎,还是三对吧,那我们得测出来,至少得有数据到二才可以吧,啊我俩啊A我测一下啊,多测几下看一下。还是散?等会儿啊,我连续多输几条啊,多输一点。大家可以思考一下为什么会存在这种现象,这个运气这么差吗?这个运气有点差呀,不是事物跟事物没关系啊,等会儿我得测出来二有东西啊,这个好气啊,之前有时候测的时候,这个就是真的是有时候嗯,那个因为连首先连续发的还有问题啊啊然后呢,我们再再得测一点东西啊GD是吧。
07:18
哎,我得把这个任务我想重启一下,反正这一次运气不太好,他这个是跟我们内部的有关系啊,大家想一下为什么会出现这种现象对吧?号还没有数据啊,就好气,我一直发着吧啊这两家GD又过来了是吧?呃,这样吧,我把整个任务重启一下,好气啊,这次不是这个是日志,因为客户端断掉了不是啊,不要紧张来看,有时候有时候测的时候连续两条就在不同的上面啊,有时候测的是这样,嗯,它里边这个跟你测试的人的运气也有一定的关系啊,等会我们给家一介绍大家就知道了,呃,这个是分二对吧?啊没有问题,没有开错啊。
08:19
我看一下我这款是二版行PROCESS3TA,我看一下我主要改了它G1,然后这一绑定K1K2C1C1啊行这个配置是没有问题的,嗯,我再来发一个数据啊nc logt hello。我们多等一会儿啊,又是三呃,艾利微博走一下,不能给点面子吗?呃,这样吧,我加一个配置信息啊,我加个配置息,我先把这个客户端关掉啊,加一个配置信息啊,呃,我先把这个接入数据的地方关掉,我加一个加一个什么东西呢?来官方档中拿一个,这不拿真不行了,他这个我拿一个他。
09:27
我开始还不想用这个属性的,少降一点属性对吧,那这个还看来不得不用,呃,首先呢,我加了一个这个值啊,刚才默认是什么呢?就这个属性默认是对吧,那家我们用了肯定要说一下这个东西干什么用的啊,但是最后一个我可以不加这Robin对吧?啊,我们就想看一下我们配轮巡也能看那种效果,呃,这个里边是干什么事呢?就是我们刚才看到这个属性啊,Back off什么意思?退回回退啊,其实回滚不叫回滚吧,不能叫回滚啊,回退其实他是一个叫退避,它里面呢用到了一个退避算法。
10:14
这个是干什么用的,就是说现在呢,我们不是THINK2个think去拉取数据吗。对不对啊,这个退避干什么用的呢?它是这样子的啊,刚才那种现象呢,就跟这个属性有关系啊,啊,那所谓的退避是什么意思啊,就是说它指的是如果说。当前这个think它是不是首先让一个S去拉取数据啊,当前这个think如果没有拉到数据,如果没有拉到数据,那么接下来就不用你。接下来一段时间就不用你了,能听懂这意思,因为你没有拉到数据吗?有可能是签到当中本来就没有数据,还有一种可能就是你拉取数据怎么样失败,可能你这个性格是一个什么可能坏掉,有没有可能这种情况有可能吧,你尝试拉取数据,反正最后的结果就没有没有数据,那没有数据有两种情况对吧?第一种呢,就是压根真的是没有数据。
11:17
就是所有东西都是好的,你确实前面没发数据,它没有数据,对吧?第二种情况就是说你可能think个是不是下游对接的打印到控制台,假如下游的那个内容挂掉了,就是说我们如果说三挂掉了,那这个S,这个S还能去拉出去吗?他拉到数据也写不出去了,对吧?类似于这种情况啊,那他就会退避,所谓的退避呢,就是说接下来一段时间你不要去拉屎了。你不要去拉取了啊,就这个意思,我们主动的让他干什么去推比一下,因为如果不加这个属性,我们这个效果就不好看了,对吧,我们把它加一下,那刚才呢,我们就可以去测一下,我们先发一条数据,然后呢你去拉一会对吧,然后呢,我们让他这B接下来一定时间内他是拉不到数据的,然后就换一个S来拉取。
12:04
啊,就是这个意思啊,因为你拉不到数据,因为我们做的是负载均衡嘛,是两个人本来都同时工作的,对吧,你拉不到数据了,没有数据是一种可能性,另外一种可能性是你这个think可能有问题导致的,对吧,你有问题了,我是不是应该换一个工作,对吧,类似于这种情况。对吧,所呢,我们加一个这个所谓的退避,这个退避呢,中间还有一个这个最大的时间限制,有个限制,为什么还有个最大时间限制呢?因为他默认的这个避算法里边,他是根据指数增长的,什么意思?假如我举个例子,第一次拉取的时候,可能我推离一秒,接下来一秒,接下来这一秒钟我就不用你这个S去拉取了。好,那如果说过了一段时间,我本来就没有数据,对吧,过了一段时间你又是不是又过了一秒之后,是不是又可以用了,用了之后你还没拿到。
13:05
那我在我判断里边,因为他的判断有可能认为你这个think是坏掉的,对吧,那我判断你刚才没拿到,现在也没拿到,是不是可能坏了还没好啊,那他可能就用什么推比两秒,让接下来这还没有数据,就推比什么四秒,它指数增长的,所以它得有一个最大值限制,如果没有限制,那么你一晚上假如说没有没有数据的话,那你想想这个指数增指数增长。可能到今后可能两个月你这个CQ都用不上了,明明然好的是由于你没有数据导致的,是不是存在这种可能性啊,我就他这边限制一下最多指数增长,最大增长到哪啊,30秒能能明白刚才我们所说的这个意思,能听懂吗?对吧?啊,它是这样的一个关系,因为它里边呢,用的是指数指数增长的一个算法,如果说你没有最高值的一个限制,那么指数爆炸呀,对吧?假如说你真的一晚上这个里面没有数据,是不是所有的C都会拉不到数据啊,所有人全部退避,可能两个月,那你这边用不了了吗?
14:15
对吧,所以它有个最高值的一个限制啊,是这样的一个内容,所以呢,我们把这个属性加上啊,我们再看效果啊呃,服务端呢,还是起的也不用管,然后呢,把客户端重启一下,我加了一个属性,对吧,两位处啊开始不想加了一个出去测试的行,那这边呢,起来起来之后呢,我们再看一下效果,刚才是不是疯狂往一个里边去发呀,对吧。好,那这个我们重启一下啊哈,我们等一会儿。又是三是吧,嗯,行,我们多测几个这次就行了啊,稍等一下对吧哈啊,还是在这是吧啊爱的微博。
15:00
还是散是吧,行就搞我是吧,还是散行啊,我们要多等一会儿,让他抓到数据看,哎,来二了吧,终于来了,来号了。来二了,好,那也就是说我们演示的一个案例呢,他们两个人确实是同时工作的,对吧?啊,他俩同时工作的,就算就算你没挂掉,是不是这个人也有可能会接收到数据的,这是负载对吗?那么问题来了,就刚才那个问题,为什么既然我们配的,我们配的策略不是red lo吗?默认的我没有配置对吧?默认的人家写的不是red lo吗?允许,那就就既然轮许的话,那就一人一个吗?为什么你这打印了好多,我这才有一个。这个是什么情况导致的,就是因为我们所说的轮询指的什么意思啊,轮询不是说China里边有一条数据给你一条,给你一条,不是China给的,轮询是S自己去拉取的,而是S在轮询,那有没有可能看啊,先是103轮询拉到一套数据,等到102的时候,恰好那段时间我们根本没有发数据,然后又切回到103的时候,发现又有数据了,是不是存在这种情况,能听懂看啊,我们轮选的时候我们写清楚啊,先是二去拉取,假如说啊,这边是三是吧,先是三拉取,然后是二拉取,对吧?啊,拉不到数据呢,换就拉不到数据就换人,拉不到数据就换人,对不对,因为刚才我们说了有对立嘛,是不是拉不到数据就换人,拉不到数据就换人啊是这样的,一个情况好,那这个是二,假如说轮询的策略,哎,里边配的这样子,假如没有数据,你们俩就这样子。
16:52
那出现这种现象的原因呢?是不是这样子的,来前面呢,是有人在发数据,等到三拉取的时候恰好就有人给他数据,等到二来的时候就没有人给,对吧?三来的时候又有人怎么样再往里面发数据,二来时候又没有,三来的时候又有数据。
17:10
对吧,然后碰巧刚才我们说二也有啊,在二来拉取的时候,我又给了一条数据,对吧,它就会出现这样中间多个数据,二一个都没有,但不是说二不在工作啊,能听懂这个意思,他的轮询的策略不是说。轮询给其他人发,而是轮循着你自己去拉取,而轮到你的时候,是不是有可能天道当中没有数据?对吧,而且我们加了退币吧,主动让他退币对吧,你没拉到数据,你是不是就是先等一下换人了,对吧,刚好换人的时候数据来了。对吧,所以刚才我们说了,测这个东西呢,有时候就要运气,有时候啊,真的就是那种一条一条的这种现象,有时候你运气好的时候就一条一条的感觉这种对吧,你一条我一条,你一条我一条这种短也存在这种情况,但是呢,像我们现在这种情况,也有可能你呢疯狂的对吧,然后呢,你这边呢,就一条,甚至如果说运气更黑的人啊,非洲人的话,你可能就像之前一样,测了很多很多,然后这边呢,根本没有数据。
18:17
啊,都有这种可能性对吧?啊所以呢,你如果说测出来凤凰这边打印这边没有数据,那你把这个频率输入数据的频率干什么,稍微自己手动控制一下,你之前可能隔一秒发一条,你现在隔两秒发一条,对吧,隔三秒发一条,一定能看到最终两个控制台都有数据的效果,对吧?主要在于轮询,他是think这边在轮询,不是China主动的轮询啊,以后你还会看到有前面发数据的人主动轮询,主动轮询的时候就是一人一条,一人一条。啊,主动轮询就是一人一条,以后我们还有框架,它里面轮询策略的,就这样写的啊,就完全的来了三条数据,三个人,一人一个发糖一样,对吧?啊,再来三条,又是一人一个啊就这样子的,而这边是来抢,相当于对吧,现在我有三个糖,等会我发的时候你来了,我身上没了,换一个人来了,我身上有糖了,这糖都给他了,对吧?啊就类似于这样的啊,存在这种可能性啊行,这是我们所聊的所谓的一个叫负载均衡的一个策略,对吧,负载均衡两个人呢,都会工作啊,都会有工作啊。
我来说两句