00:00
好,接下来呢,讲一下第三章主keepper的内部原理啊,内部原理,内部原理这一块呢,你看一下这张,整个这章中有两道面试题。呃,从面试的角度来说,这块确实一个重点哈。那首先呢,第一个呢,就是它的选举机制,如何选出整个集群中的leader。啊,因为整个机群就一个leader,其他都是。这个leader怎么来的?下面来介绍一下啊。这是半数机制,我们又强调了一遍,集群中半数以上的机器存活,集群可用。所以主这边适合安装基数台服务器。能理解吗?来看一下。嗯,先说这个吧。就拿这张图为例,这里面呢,有五台服务器,刚才说了挂掉一台。再挂一台还能工装再挂一台。不行了对吧,哎不行了,那几台正好,那现在如果你是六台服器。
01:03
挂掉一台。依然能工作,再挂一台还可以再挂一台,能不能工作?可以吗?呃,半数以上对吧,哎,必须是半数以上才能工作,那也就是说你六台服务器的时候挂掉三台。不能工作了啊,五台服务器的时候挂掉三台也不能工作了。那你是浪费浪费一台机器啊啊。当然如果说这台服务器的钱你不差啊,也就这个五六万块钱吧。小钱啊,不到一个月,你们一个月工资呢,那也可以。未来的工资嘛,是吧。这是这个,那下面再往下看啊。主配班虽然在配置文件中啊,没有这个指定的这个master和其实就是leader啊。啊,但是呢,主配工作时是有一个节点的,其他的为follow。Leader呢?是通过内部的选举机制临时产生的,那下面这个过程就是如何来选举出整个集群的leader。
02:07
啊,那这个呢,假设呢,这个服务器呢,是一台一台往上增加的。把一台增加的。开始有一台服务器啊,十文一上来了。上来之后呢,开始投票选举出这个。服务器当中啊,谁是这个leader,那他一个人一投票,他投谁呢。投掷几啊,投掷几啊都是支持的哈,这里面都是支持的,投掷几它是一票。一票一看,一共是五台服务器,他只投了一票。肯定不行啊,哎,当不了老大。继续,那这时候呢,哎,这个S2又来了。啊,他也开始投票,他投谁呢。他依然投自己。大一头自己发现。还是不够啊,为什么是不是没有到半数三呢?啊,没有到半数以上三啊,那这时候呢,这个leader啊一也投他一票。
03:00
因为他投自己万不行了嘛,不行他就投别人投谁呢,投这个服务器ID号大的。大。那这个都加一起的话,他才两票。啊,依然打不了吧,那这时候呢。收山来了啊,收山来了。受伤来了之后呢,他还是开始啊,抬头自己。他投自己,那前面的人呢,他投完自己之后发现啊,还是选不出老大,那怎么办呢?哎,选这个ID最大的。他之后一发现三票。对吧,哎,他就当了班长了。班长就这么当呢?来了三个人,提前的把他们都汇总好了啊,把这个饭也请了是吧?是没少请你们吃饭吧。然后成功当上班长,但是呢,这时候,哎,谁来了呢?啊,张晨啊,张晨来了啊,张晨觉得我技术特别牛啊,我这个能力特别强,我应该当班长啊。但是对不起啊,班长已经把坑占了。那你一边去是吧啊。他来了也没也没也没行。
04:01
啊,然后来谁来了呢?谁哎?静静来了。今天说这个我的能力更强啊,比前面的都厉害啊。因为我这个有特殊手段。然后结果班长说对不起,我这坑我已经占了啊,我现在就是班长啊,现在说你太强那没有用啊,你只能听命于我。啊,所以说呢,这个leader呢。就选出来了啊,就这么选出来的哈,先入为主了。只要这个leader选出来之后,那你就改变不了这个事实了。就是这个选举机制啊,很简单。每个人上来之后,第一件事先选自己。啊,选自己不行了,那把这一票投给ID号比较大的。差差比较大的啊,都是上了先血自己不够之后就最大的。那么一旦这个leader选举的票数超过了半数以上,那他就立刻升级为leader。
05:03
啊,那其他的你不管你这个ID多大,那他也当只能当佛。就这意思啊啊,这就是他的简单的选举机制。
我来说两句