00:01
各位同学大家好,刚才呢,咱们搭建了red的主从复制,我们搭建了一个一主两层的效果,包括也演示出了它的相为效果,那咱们下面呢,来研究三个问题,也就是主从中三个典型问题,第一个叫一主二仆,其实就是一主两从,在这过程中,比如说你的从基挂掉了,主基挂掉了各生场景,然后第二个叫心火相传,第三个叫板科为主,这个一会儿给大家具体说,包括还有一个咱们研究一个我们做这个主从的一个复制原理是怎么样的,那我们先看第一个一主二仆,或者说一主两从中一些特点,那这特点怎么演示给大家说一下啊,比如说大家看我目前呢,有三个ready词,第一个是6379,是咱们的主呼务器,然后另外两个是从服器,比如说咱们为了看它效明显啊,给大家这么来显示啊。我这么来做,第一个是6379,第二个6381,第三个6380,咱们用它来做这么一个演示。
01:06
我先给他加个可啊,让各位看到更明显啊。可粒目前就是有三个red,比如现在我怎么做呢?给大家说一下啊,比如现在啊,我这里边因为我目前有主服务器,有从服务器,比如说我现在在这里边能查看到里边的内容,咱目前应该只有一个A1,就这么一个P啊,这里边是A1,那比如现在我做个操作啊,比如现在我里边的某台从服务器挂掉了,比如说就是这个6380的存服务器挂掉了,咱们把它比如来一个。杀得到。Shutdown之后是不是它就挂掉了,然后挂掉之后呢,咱们在主服器中来做个查看,就刚才那个命令info replication,那咱看一下啊,大家看里面特点,你看这里写到目前它是主服务器,它的从服务器是不是只有一个6381,因为6380已经挂掉了,刚才咱让他已经停止了,那这个时候呢,我做个操作,什么操作呢?比如咱们现在在主服务器中来做这个添加操作,我再来个site叫A2,这个叫V2,再来个site a3,这个叫V3,咱是不是做了一个添加操作,而这个时候我这里边应该是有三个K,而咱们在这个6381中肯定是可以看到的,里边有A12A3,这是可以的,但是咱目前要考虑问题啊,大家说啊,比如说我目前呢,把这个6380的服务器给它再启动起来,它会产生什么样的效果呢?
02:45
大家可以考虑一下,比如你看目前啊,我的主服务器是正常的,6381正常的,当6380已经停止了,它在停止的时候呢,我们通过主服务器又加了两个K,而我现在比如说把6380再启动起来,它会产生什么样的效果,那咱们来试一下啊,比如现在我把它启动一下。
03:06
就是在里边我们用这个RA-server,加上这个叫里边这个叫六三,应该是八零。点CF把它我们给它启动,然后启动之后咱们把它连接一下,就是杠P,然后6380,现在是不是给它连上了,连上之后呢,我们用命令info replication。大家看这特点啊,我们发现啊,里边有个特点,呃,咱往上看啊,这个稍微小一点啊,给它往下拉一点,然后大家看啊,你看目前啊,我把6380之前它是从服务器,但是我把它重启之后,它变成什么,是不是主服务器啊,所以这是第一个特点,各位同学记住啊,当你从服务器挂掉之后,你再重启,那这从服务器并不能作为我这个主从中的这个从服务器,它又单独跟这之前就是完全独立的,还是一个主服务器,就是它不能自动再变成从服务器。
04:11
所以这个特点各位注意,比如咱们现在啊,让这个6380再变成从服务器怎么变,咱们演示过啊,用这个叫sli off,加上127.0.0.1加这个叫6379,让它加入到这个主服务器中去,然后加入之后我们再看一下啊,到这里边用这个info replication,大家看。目前是不是两个,然后这里边我们现在就是他用info replication。大家看他目前应该也是一个。重服务器就是这个STEM,但是目前呢,让各位啊在考虑问题,你注意啊,我6380在它就是挂掉的时候呢,主服务器是不是加了两个K,那我问大家,我在6380中,我重新启动之后,能看到刚才这个两个K,或者这两个K在里边能完成复制吗?
05:11
大家想一下能不能完成,那咱们来看一下啊,我们来一个K星号,大家看A1,包括最后加的A2A3里边是不是都存在呀,所以这是它一个特点,就是当你从服务器挂掉之后,你再重新启动,那它的数据是从头开始复制,就是你之前那个主机中有什么,他把所有数据都给你复制出来,这里边是一个特点。所以这就关于一主二图中的这个关于它的特点,给各位再重复一遍啊,第一个特点,当你的重复器挂掉了,你在启用之后,那重复器并不能加入到你这个主存的这里边来,你需要重新给它加入才可以,而你在加入的时候,这里边它会把主部集中的数据从头开始复制,就是主部集什么数据都复制到你这个从副据中来,这是它的这个特点,这个叫一主二仆的效果,所以各位把这知道啊,然后这个说完之后,咱再看下一个效果啊,下一个什么效果呢?比如咱目前啊,我的主服器挂掉了,大家看会有怎么样的啊,比如现在我让他杀他掉。
06:19
注意我一回车主服务器是不是就挂掉了,而主服务器挂掉之后,咱们现在在从服务器中,我用这个info OB,大家看里边啊会显什么内容大家看啊,首先你看我在这个就是这里边六三应该是6381里边大家看它的显示,当虽然说我主服器挂掉了,但是这里边的6381还是从服务器,然后他也知道主务器还是这个,只是他知道主夫器已经挂掉了,也就说现在啊,好比说这主夫器是个大哥,然后这是小弟,小弟看到大哥挂掉了,但是我小弟也不会上位,还认识我这个已经死去的大哥,就这个特点,你看啊,还是从服务器,包括咱看这个6380中应该同样的效果。
07:07
Info replication,大家看他还是从服务器大哥,虽然挂掉了,但是永远是大哥,他不会上位,也不会篡位,也不会做其他的事情,还是认这个大哥,这是它一个特点啊,比如现在我们这里边啊主服务器,咱给它再重新启动起来,大概什么特点啊,我启动一下red-server加这个叫red。6379考,然后咱们做一个连接。杠在杠。6379连接之后,我们用info replication。大家看啊,当我主服务器在重启之后,它是不是还是主服务器,还是回到这个主的位置中来,就是还是回到这个大哥的位置中来,这是一个特点,所以大家记住啊,当你的主服务器挂掉之后,从服务器不做任何事情,还认我这个已经挂掉的主服务器,而主副务器冲气之后,他依然是主副器,比如你大哥生病了,可能就是命运垂危,那我小弟不会篡位,还认他,等大哥病好之后再回来,他还是大哥,我小弟还认你啊,就是这么一过程,所以这就是关羽我们说这个一主二仆中的这个特点,大家把我眼这过程给他,自己可以测试一下,这个咱们就说完了,然后说完之后呢,这里边呢,下面还有两个,一个叫薪火相传,一个叫反客为主,这一会儿给大家说明,咱们先说一下啊,就这里边的主从复的一个原理是怎么样的,把原理给大家先说一下,然后咱们最后再说这两个薪火相传把。
08:48
投一柱,那下面给各位说一下这个主从复制的原理是怎么样的?那我在里边给各位说一下哈,比如说我在里边呢,咱们简单画个图,就是这个就是这是一个主服务器,这是一个从服务器来用它给各位说明啊,这个是主,然后这个是从那主从复制的原理是怎么样的呢?我写一下啊,首先第一步就是现在比如我这个从服务器,当它呢,就是连接上了我这个主服务器之后。
09:22
注意啊,连接上主服务器之后,这个从服务器它会向主服务器来发送这么一个进行同步的这么一个消息,就是现在告诉从服务器主服务器我现在要进行数据同步了,这是它的第一个,我再说一遍啊,当从服务器呢,连上主服务器之后,从服务器会向主服务器发送这么一个要进行数据。同步的这么一个消息,就告诉主服务器,我现在要做数据同步了,这是它里边的第一步,而这个主服务器呢,接到命令之后,它会做什么呢?就是咱说的第二步,我写一下啊。
10:05
就是主服务器。他接到了就是我这个从服务器发送过来这个就是同步的这个消息之后会做什么呢?他会把就是我当前主服务器中的数据先进行这个持久化,比如说放到咱们那个RDB的这个文件中去,然后他会把这个RDB的这个文件。发送给这个从服务器,从服务器呢,拿到RGB文件进行读取是不是可以了啊,就是从服务器拿到。这个RDB文件。然后他会就是进行读取。所以这是里边的第一个步骤,给各位再重复一遍啊,当重复器连上主器之后,重复器会向主部器先发送一个要要求进行数据同步的消息,而主务器接到消息之后,它也把里面数据先给他持有化到这个RD文件中,然后把文件发送给这个从服务器,从服务器拿到RD文件之后进行数据读取,最终完成这个复制,这是里边的第一个过程,而这个大家注意啊,这个过程是从服务器主动进行的,当一连接他主动做这事情。
11:27
而这里边除了这过程之外,还有第三部分,就是当这个过程完成之后,第三步呢,我们每次主服务器进行写操作之后,它会怎么样呢?就会和我这个从服务器进行这个数据的同步,比如说我现在主服务器加了一个A1,然后值是V1,它接完之后会把数据就复制到从服务器中进行这么一个同步,注意啊,这个过程是主服务器主动做的,而不是从服务器做的,从服务器只在第一次主动请求同步,后面都是由主服务器发起的,每次他做写操作都会主动去同步从服务器,所以这个过程就是re中从复制这么一过程,这里写的就是刚才说的一个过程。
12:16
然后过程中写到有两个数据,一个叫全量复制,就是所有数据都复制到总数集中,一个叫增量,每次新增的进行这么一个复制,所以这是关于我们说的主从复制的原理,大家把这个它知道。
我来说两句