00:02
好呃,有哥们说啊,你你不能再给它配上slave吗?再配上就变了,变成下边的架构。大家看下边什么,就是这个里边就就只有一个master,没有slave啊,变成slave就变成下边,下边什么我们看多master多slave。这俩都是多master多,但是不同的是一个是义不复制,一个是。同步双写什么意思?我们来看它。呃,这个多master多slave啊,就是博集群里边多个master,有多个master构成,每个master又配置了多个slave。这说了啊,在配置了RA的磁盘阵列的情况下,一个master一般会配上一个slave,配一个slave就可以了,为什么呢?这我们一会儿啊,给大家在这个讲这个最佳实践的时候再详细说。那么master is slave啊,他的关系是什么?这么我们前面就说过,他属于主被关系啊,属于主被关系就是平常都是master负责读写请求的。
01:11
Slave就是做备份。就是做备份啊,一旦你master挂了,那么这个slave呢,会马上自动切换到master。Master当机后,他的角色切换。就是所以他的负责负责什么两个啊,任务数据备份和什么角色切换。呃。这说了啊,异步复制G,这说的哎,就开始解释这个异步复制的问题啊,异步复制是什么?就是我们前面所讲的啊,复制策略中的什么异步复制策略。啊,异步复制策略,那那那这复制策略里边异步复制策略。是吧,我就不用等,等你slim这个做同步是吧,即消息求到master成功以后,Master立即向说。
02:02
返回成功阿,无需等待slave同步数据成功。所以我们这个异步复制指的是这个东西。这说了啊,这种模式一个最大的特点是什么?当master宕机后里能够自动切换到master这句话啊,就我们刚才说这个角色切换,这个角色切换大家注意啊是什么。是自动切换啊。是自动切换为master。不过slave master同步呃同步呃具有呃这个这个短暂的延迟,这个延迟是毫秒级的啊。所以当master宕机以后,这种异步复制方式可能会存在少量的消息的丢失问题。什么意思呢?我们看。就这样啊,就是我生产者把消息写到啊,Master,你成功了,不管你是同步刷盘还是异步刷盘,反正你成功了,你成功了马上就给宣善者响应了。但是。
03:06
我这还没有做同步呢,我这边还没有做复制呢。你给了响应了。咔嚓。就挂。他挂了,我这还没有复制呢,你这挂了,所以导致的结果是什么?这里边儿是不是没有最后那个那个消息,所以就出现了少量的。数据的丢失。因为这个这个是什么?呃,这个短暂的延迟,这个延迟是毫秒级的啊,这个毫秒级的也就是说。它时间非常短,所以大家想一下啊,是不是这个时间延迟,时间越短,丢失的数据是不是越少啊。大家想想是不是这个道理?就是我这儿。我这样啊,做这个同步。我这做这个同步时间越短。
04:03
他是不是丢失的数据越少,时间很长,那你这儿的数据可能丢的很很多。是吧,比如说啊,因为这种发送消息都是什么,他肯定不是一条一条发的,我给大家说。批量发送的就一发,比如说比如说啊,我一发发1000条。我发发1000条,发1000条过来了,你这边同步完成了,马上给我回复进行响应是吧,然后呢,同时你给他响应的同时,这是不是在做。同步。在做同步啊,在做同步的过程里边,如果大家想一下这个延迟。啊,我我是这个这个毫秒级的。那可能。我已经同步过去啊,这延迟很短,所以我这1000条,我已经同步过去几条了。800条了。有200条,我们有同步了。
05:01
是吧?那如果说你这个延迟是什么。是是毫秒,我是秒级的,大家想一下,那可能你这儿啊,这这这个才同步了十条数据。然后。就就没了,因为他已经挂了。这已经挂了。所以当然你要说我跟你说我这个同步啊,是微秒级的,它不是毫秒就是微秒级的。那是不是可能这1000条数据啊,过来990条数据了。因为很短嘛,E嚓就过来了。延迟很短,所以我们从这可以知道啊,就是。这个延迟越短是吧。嗯。Slave虫。
06:01
Master同步的。呃,延迟。呃。短嗯其嗯。可能。有时。数据消息吧。九。Yeah。越少。对吧。啊,这是肯定没有问题的是吧。也正因为这样啊,我给大家这样说。我们的master不是这个这个瑞啊,这个这个瑞阵列,你注意瑞德阵列啊,如果我们的master是用的瑞的阵列。然后用的也是异步复制。写上啊,这个这个,呃,怎么说呢,对于。Master的。RAID磁盘。
07:01
这里。若使用的也是使用的也是这个异步复制。同样也存在什么延迟问题。同样只要你存在延迟,同样也可能会什么啊。有时。消息。啊。Red。延迟是什么?是微秒级的。是微秒级的。所以其。有十的。更少,所以他什么更安全?
08:00
但是你需要注意啊,锐的阵列。为什么,为什么它是微秒级的。因为。是由。硬件。所以从上可以看到,就瑞这里啊,它是由硬件支持的。有硬件专门在做这个工作,那当然他快了,但是。好处是快是吧。那那弊端什么,成本高啊。是不是你要搭建这个阵列,是不是成本就比较高啊,这是我们就是就是是我我们大家就需要需要了解到需要清楚的啊,需要清楚的。当然我们一会儿啊,在这个最佳实践上,再给大家会详细再来说一下啊,再来说一下这个问题。呃。把这再说了吧啊多多slave啊。
09:02
这个模式啊,呃,其实就是前面我们这样说的,这个叫同步,不是异步复制,这个其实就是同步复制,那为什么叫同步双写呢。所谓的同步双写是指的消息写入到master成功以后,Master会等待slave同步成功后才向producer返回。就是master成功以后,Master还要等着slave同步成功以后才向他返回。也就是都成功了。都成功写入了。所以叫。都要写入成功才会返回啊,所以叫什么叫双写。叫同步双写。明白吧,名字就是这样来的。呃,这种模式和异步复制模式相比呢,优点是什么?安全性高,不存在丢失,因为同步肯定不存在丢失啊是吧。
10:01
那你肯定一个都不会丢。但单个消息的RT略高。主要他的想象时间肯定高了。那我们刚刚在在前面就说过。是不是在这儿就说了这个RT。是吧,这RT啊,你同步的RT肯定。高异步的变小嘛,异步的小。是吧?呃,从而导致呃,性能要略低,大概低10%,低10%啊,低的还是不少的,你知道吧,低的还是不少的啊呃。但是这还不是性能低还不是。致命的问题,它最大的一个问题是什么?对目前的版本啊,就我们现在用的这个4.9这个版本。啊,热卡说啊,这个这个419这版本马当以后S。不会。
11:00
自动切换到。他不会。不会啊,它不会自动切换,这看到了没有,它会自动切换,它不会。是不会。自动。切换。治他致命的问题就是你你这个master挂了slave,它仅仅做了一个备份。起不来还得手手手工的手动的去起,那肯定是不行的。是啊,肯定是不行的啊呃,这是我们这个多master多slave啊,它的异步同步这两种方式。这两种模式啊。
我来说两句