00:00
好,各位同学,那接下来我们来说一下哨兵的运行流程和选举原理,那么这个是面试中的高频考点,他就是让你说哨兵主从复制集群等等等等这一堆堆知识的底层和原理。那下面先说简单的这段话,我不再废话,一看你就懂过。下面简重点的说,杨哥为什么要讲是这个上面不全部做通做完了吗?我也明白了。第一个,两个原因。首先。日常的比面试过程当中,他面试官可能会让你手写一个立扣上的算法题,对吧,考考你的,比如说练表反转啊,或者写个冒泡派序算法,好来问问你,比如说你们的MQ是怎么用的,你的MYSQ索引是怎么建的,好这些是实际技能,但是第二个考点叫工程经验,啥意思呢?Red里面它是不大可能来考你什么手写一个哨兵的配置,这些基本上都是有笔记去粘就行了,但是希望你不要这些都是运维的事儿,不是这样的,那么疫情下面基本上程序啊,开发运维一块干,真真正正的让老板觉得就说divorce d vos开发加运维对吧?那么这个时候的话,涨涨工资了以后是不是可以把某些人材料来节约成本,那么这个呢,已经发生过了,第二个问题,像这些东东,他干的时候活的是什么呢?假设你能够把这些回答出来。
01:28
啥意思啊,一些学习能力不是说啊,我们公司配好了,反正我就用我用那个微服连个集群就开干了。那么下面你对这个技术有没有钻研精神?第二个,如果我跟你聊这些,你能搞得懂什什么情况?从某种角度而言,可能你们上一家公司,它的开发技术能力,它的规模应该至少是家中产小公司一个单机red就行了,你何必上什么哨兵啊,什么集群啊。对不对,那么这个时候他就看看,掂量掂量,你简历上写的这家公司,能不能说一下你们red的这个拓结构,你们red配了几台呀,内存配多大呀,等等等等,哎,你能够。
02:06
一一对答如流,那说明什么?你在你们公司当中应该是开发加运维都能做过,我一跟你说是搞得定搞得懂的,OK,那所以说有什么问题我就给大家呢,每一章节都给大家说一下官网的地址,所以呢在这儿,那么请同学们要把这个来给大家呢。细致认真的说一下好。首先三个哨兵监控,一主二从正常运行中,对吧,这个就是我们初始的最开心的,一般中小厂用这个足够了,好,第一个主观象限。二话不说,直接一个叉叉上来,那么哨兵人家不是吃干饭的,三个是不是监控着?那这个时候请看S弹,俗称主观下限来第一步啊,那么S氮是主观不可用,这单个几个是单个哨兵自己主观上检测到关于master状态,那么从这个哨频的角度来看,他发送了PIN的心跳之后,在一定时间内没有收到合法的回复,就达到了S3的条件,那么这个时候在三的配置文件当中叫done after million设计了判断主观下限的时长,那么这个时候同学们干嘛老可以背一下对吧?默认多少秒,30秒,那么答案。
03:22
眼这个都清楚了啊,我就不再照着念了,快快的过,说白了就是说哨兵,我监控这个master,某一个哨兵发现,诶,怎么超过30秒了。他给进了毫秒组,毫秒数之内,他没有回复给我一个消息,那么这个时候明说,诶这哥们怎么电话打不通,是不是失联了,是不是阳性被拉翻仓了,对不对,那么是不是认为这个master不可用了,那么所以说这个时候我们呢,就是表示当前生成的实例认定失效的时间间隔,这是一个什么下限S但主观下限的依据,但是对不起。我三个哨兵,我不能说一言谈吧,否则还要我们两个干什么,那么大家要投票,都要认为他挂了才行,所以这个时候我们呢,就会来到了我们的第二步。
04:12
从主观到什么欧蛋俗称客观下限来吧,那么欧蛋一定需要一定数量的申多个哨兵达成什么一致意见,才能认为一个master客观上确确实实挂了,哎,你也收不到,你也收不到,你也收不到,那如果三个都这样的话呢,那么更是挂了,对不对?按照我们的配置,默认官网上的配置,他也说了,三个里面我们是不是认为两个,那么就可以认为它下线了,所以呢,在这儿,那么请答呢,老眼。这个呢,是不就是我们的欧蛋投票速OK,那么要多少个票数的哨兵认为这个master有故障才会下线,那有时候呢,是因为网络原因无法访问,所以我们不能用听一个哨兵的一面之词,因为有可能是网络拥堵,这个master他没有真正正的宕机,所以就需要有多个哨兵确认,那么来才可以进行下一步的投票操作,保证公平,好,那么这是我们的第二步,那么第三步呢,请看好。
05:09
注意。选举出哨领导者,哨兵,哨兵中选出兵王,这什么意思啊,杨哥,你你你们讲到这,你不说什么投简单吗?投票什么的,记着cent呢,在这块人家是叫宾王,叫什么leader OK,然后在这个下面,我们这是由slave要重新上位为一个master,一个叫leader,一个叫master,听杨哥细细说这一步,这个就是考点和关键,说大面。这段话各位亲,一读完你马上懂,所以我就懒得照本宣科,节约你时间。下面的问题是三个哨兵啊,我们都三个里面有两个,我们就认为这个master。淡了,按照我们的案例,他也确实是挂了,可问题是谁来发动这个选举,完成余下的6380或者六三八幺两个LA里面选一个变成新的master,谁来做这个工作呢?难道是三个哨兵一起来做?不是的,三个哨兵是主观票数达到了以后,认为master宕机了,然后第二步他们会在三个哨兵里面选出一个leader达,由三个哨兵里面出一个人,在下面给我选出一个slave到master,一句话由Li达来指定谁是新的master讲完了,所以第三步要选宾烷,那么来同学们露眼,这是官网上。
06:42
说的很明确了对吧?注意无论什么时候,如果是达到了我们的什么东道,一定要注意欧蛋客观下限才说了算,那么干嘛一个哨兵将会被要求去选择按照大多数已知哨兵的顺序去开始一个什么故障容错,所以我们呢?
07:06
是假设少少数的话,是不允许有故障容错的,那么搁到这儿,我们来详细来说明一下。第一个。当主节点被判断客观下限之后,就我这master死了,我们大家都同意了,各个哨兵节点会进行协商,也要选举出一个领导者哨兵节点,注意,就是这雷达263792638026381,你就相当于天上这三个神仙谁哪个神仙喜凡他们三个都认为对吧,要做一件什么事,但没有必要三个神仙都出手,3798081里面选一个冰丸领导者哨兵来去做slave瓦到master这件事,所以呢,冰丸由该领导者节点也即备选出来这个兵王进行什么故战迁移,那么来我们来看一下三个哨兵日志的分析。
08:03
我呢已经把改单呢抓图好了,我就不再跟虚拟机呢反复的切换漏眼啊26379,首先假设我们这个案例它的筛选ID尾号多少,1012 OK,好,这个是它启动之前这条线,是它正常运行这条线,以下是它们的重新选举,好,注意26379叫1072,这叫3ID对不对?我们现在先说哨兵冰烷,请看红色部分。这个叫26380,它叫0664,请看啊,这个空格以下是开始发生故障迁移了,先是主观下线,我认为637就挂了,然后欧蛋客观下线,我认为637就挂了,达到了两个票数,New approach开始一次新的选举,尝试着故障转移,我们要从6379,然后请看vote for leader选举出leader vote是投票吗?谁请看下面啊。
09:04
我是不是叫,我现在叫26380,我自己的身体ID是不是叫0664啊,他干一件什么事好,那么。CC34和1012,我们前面讲过来,1012是不是叫26379,好,我们再来看第三个CC34是不是26381,那么他这个意思是说,我们现在CC34干嘛和我们的1012他们呢,都投票了,给我们的0664,这么说能跟上哥哥,现在我们要选出一个兵王,这个兵王是谁?就是你26380,然后26380 OK,那成为承蒙三位兄弟,两位兄弟不气我呢,神仙下凡,我来去推动,然后Li达去推动选举,然后由liver选出新的master,所以请看。
10:02
对于上面这一联是跟哨兵有关系的,对于下面这联,Switch master,这才是跟red有关系的。所以说同学们请看,交换master my master 6379,谁江山易主,6381正式上位,然后加两个奴隶,6380 silver OK,有点类似于是silver。Of noone先6381不再做努力了,然后wolf重新指定,然后6380挂6381 6379挂6381,那么新的集团产生了,6381上位做新老大,OK,好,那么所以说这个时候一定要明白这个兵王来神仙下凡,兵王来促成slave到master,那么请问这个领导者哨兵,这个兵王是怎么选出来的呢?那么这个时候面试中一定要答这个俗称RA的算法。
11:01
好,那么它是这样的,这个算法啊,由于我们不是专业的算法工程师,此外深浅有度,在零基础小白篇我们就不再过度的说这个东道,有兴趣的同学可以下去呢,查阅相关资料,杨哥给大家做了一个简单的第一个监视该主节点的所有哨兵。都有可能被选为领导者,那么选举用的算法叫rapft算法,他的基本思路就是先到先得,那么既在一轮选举当中,哨兵A向哨兵B发送成为领导者的申请,那么跟A跟B说,哎,我想下去,我想神仙下凡,我当兵王leader去做slave切换到master这个事儿,你投我吧。如果B没有同意过其他哨兵,那么B就会把票投给A,让A成为领导者。那么大家请看三个时间点,开始选举三个哨兵。一投票给二投票给三,二呢投票给一,投票给三,三呢在这个点上面请看。
12:02
它的内部的算法和最终的一些优化,会发现这个点上面停只有一收到了两票,二三的,二只收到了一的投票,三可能没收到票,那么对不起,谁的票数高,谁就成为leader,我们就选举LEADER1成为宾王下去做slavever到master切换,好同学们,这个就是我们的第三步,那么第四步由冰王开始推动故障切换这个流程选出一个新的master,那么这个呢,也不用我多废话,那么其实同学们在这块你们也看到了,先选出Li达,然后在Switch master OK Li达来摆平后面的事,一步一步接着来,因为大家都清楚。F0664F0664这个绝对是3IN的IDOK,我们现在是由什么邵兵来决定下面的silver到master切换好,那么最后一步它呢,选出新的master来,这个时候我们呢,就有三个步骤好,我们这同学们一定要注意认真听懂。
我来说两句