00:00
好,接下来呢,我们就来看一下,哎,在主K集群正常启动之后,那如果发生了意外,你说集群的leader挂掉了,那我们又来如何来选举对应的leader呢?啊,这是对应的集群对吧?哎,上节课我们也看到了,大家来看第一句话说,当主K班中一台服务器出现以下两种情况之一时,就会进行列量选举。哪两种情况呢?第一个叫服务器初始化的时候,就是我们上节课讲内容,服务器启动肯定要选举的leader,那下一种情况就是服务器运行期间无法和leader保持连接。什么意思呢,他这个意思。比如说啊,这个服务器五,它呢,突然间。通讯连接不上,跟任何一台服务器连不上,那他会怎么认为呢?他不认为自己坏了,他会认为自己啊,哎,这个整个机群其他的可能都挂掉了,那我怎么办?哎,我是不是要选举新的一个老大呀,要发起这个leader的一个选举。
01:02
是这样情况啊,好,他连接不上,他就会自己选举。啊,那下一个呢,就是说,而当一台机器进入到leader选举流程时,那当集群当前集群有两种状态。你看比如说这个五。他是要发起这个leader选举。那首先集群当中本来已经就存在一个例子。那另一种情况呢,集群当中确实这个leader不存在,什么意思呢?比如说它连接不上之后,他会认为说,哎,集群当中没有,有没有leader呢?那第一种情况。存在对吧,只是你没有连接上而已。那第二种情况,那这个集群当中,他确实他挂了。这种情况吧,啊这两种情况,那如果是第一种情况说他没有连上这个leader,那这种怎么处理呢。很简单。就是如果说第一种集群当中已经存在leader,那这个机器啊,就要去连这个leader,直到他连上为止,因为他要想再次选举成为老大的前提条件是不得达到半数机制啊。
02:03
对吧,而且他会跟别人去交流通讯嘛,对吧,你把警告投给别人,投给别人,别人立即就告诉他说集训当中现在有leader已经活着呢,那你。对不起,哎,你不能进行选举,哎,你只能去尝试连接力的。OK吧,是这意思就相当于啊,在里面有皇上对吧?啊有皇上你这呢,你想再再另起炉灶立一个这个朝代,那这就属于造反对不对,那告诉你说不行。那集训当中如果真的这个皇帝啊不在了,对吧,Leader也真的挂了,那这个怎么办呢?那下面来看一下啊,还是这三个概念啊,先把这放这放这上节课我们介绍过了服务器ID,事务ID和这个每个leader任期的ID。好。那我们假设这样一个场景哈,什么场景呢?说主kper啊,有五台集群组成。这个服务器,然后呢,Sid服务器ID12345。
03:02
对吧,12345,然后呢,45ID。哎,这里面引出它了吧,对吧,是YD说88877什么意思。那你想啊,这里面有多个客户端去访问对应的集群。那就有操作快的,有操作慢的。对吧?哎,是这样的情况啊,那假如说12341台服务器,它超出了八部,它超出了八,他出了八,它只有七,它只有七,因为只要达到半数机制,他就可以进行后续的一个输入操作。对吧,嗯,然后再往下走说此时呢,Sid为三的服务器呢,它是leader,诶就是当前服务器三,它是leader没问题吧,那好。那某一时刻不好意思三和五啊啊。哎,这两台服务器挂掉了。那挂掉之后就相当于整个集群当中确实没有leader。那我们就要发起真正的选举。
04:00
那选呗。那由谁来选呢?那没有挂的服务器来选呗,124,因为124的话是超过集群半数了,三台服务器那有条件正常工作。啊,那他选举怎么选呢?关注这三个值。啊。4ID以及ID。那分别来看一下124对应的这三个值都是什么呢?比如说第一台服务器。他的。任期ID啊,Leader任期ID你可以认为是一,哎,这里面我没有说的话,那是一,然后八是4ID对吧?啊是ID,然后ID是不是也是一,第一号这个服务器啊,那下一个182。对吧,174。能理解吗?这是它的数YD。OK吧,这样去对一下。那对完之后,那怎么来判断谁有机会当老大呢?判断的原则又是什么呢?
05:02
来看这个第一条,先判你的ID谁大谁胜出。啊,看这个任期ID。哎,比如说人机ID它是二的话,那没啥说的,第一台服务器立即登录的。那这里面我们现在都是一对吧,那是一的话呢,那就相当于我们要比第二个条件,那第二个条件呢,就是对应的4YD。对吧,啊比是ID,那是外ID呢,一和二这台服务器呢都是八,然后第四台服务器呢是七,那是不是他被pass掉,Pass掉了爱就生一和二,那一和二我又选谁当老大呢。哎,那选的就是对应的服务器ID大的胜出。那就他和他呗。是这样吗?哎,好,那接下来呢,就是哎,第二号服务器它变成了零。那这三台服务器工作,它是leader,这是这是。这就是不是第一次初始化的时候,他如何来进行选举?
06:01
那这里面要判断三个值,Sid z sid和。那优先级先比P,再比z sid,再比S。OK吧,哎,这就是这个主配班的一个选举机制哈。
我来说两句