00:01
呃,那这样就是我们刚才所说的isr,这个东西呢,是一个同步副本队列,那正常情况下,按照我们思路所应该聊的是,当Li接收完消息之后,他需要通知isr里边的所有的photo进行同步数据。当同步完成之后,统一的,哎,那你同步同步完成了,给这个leader发个消息,那leader就给生产者发个消息。对吧,说已经同步完成了啊,已经同步完成了,你不用那个什么重发了啊,你不用重试了做的这个事,但是呢,有的数据啊,你在生长环境当中,但是这种吧,你能感觉到它速度慢吧。对吧,他要等待什么。所有的follow接收到它的一个返回值,对吧?啊,有可能呢,有故障了,还要等等,然后要重发啊,这个呢,速度慢啊速度慢那。为了这个要求,因为有的时候啊,我们可以不需要等待这个返回值,我就只管发就行了,对吧,我管你接接收到无所谓,因为如果说有的数据啊,可靠性不高的时候。
01:09
我们是是希望。发送防位值了。是不是需要这种啊,所以卡不卡呢,他做了一个什么事呢,让我们这个他提供了三种级别就可不可。啊,可被准,那这个呢,主要的参数就来自于伸展者,这边有一个ACKS这个参数啊,就是我们刚才所聊的那个ACS,那第一个呢是零。第一个是零,零,就等于说producer不需要。等待。啊,我也不重事了。我也不重事了,就是我不管你有没有接收到,我就只管发消息就行,你接不接收到无所谓,那这种情况下是不是最可能丢失什么。数据对吧,最可能的就是数据,因为一旦你不管我拎写完了,我拎写完了,刚写完我也不管这个follow有没有写完,对吧,我就直接干什么。
02:15
假如说我直接是不是,就反正不管我继续一直发消息了,一直发消息OK,那这个时候如果说你换了。因为leader并没有等待follow去写完啊,那你leader挂掉会怎么样?那刚才的数据就。就丢了,不会重发吧,我说了不会重发就丢了,最容易丢数据吧,好,接下来还有一个一这个级别。一这个级别,一这个级别指的什么意思呢?是等待leader。只等待leader写完。只等待leader写完啊,如果说leader这边由于网络延迟发送的写,写的比较慢,或者说leader都没收到,他就要重发。
03:01
啊,它叫重发不等待follow,不等待follow,那这种情况下有可能什么。是不是也会丢出去啊,因为你等待leader写完嘛,啊丽是写完了,但是leader写完之后挂走。对吧,啊,Follow还没同步呢,还没同步完成呢,就挂掉了,那这个时候是不是有可能会也会丢数据啊,还有第三个等于这个就丢失案例,这个呢,PPD我们不放啊,这个就很简单,还有一个就是等于负一或者你配二也可以。二或者等于负一啊,这个都可以,那这个时候要注意一下。Producer等待的一个AK需要等待啊,就是等待他这个producer,而且呢是等待leader和follow全部写入成功之后才发。注意这一块说方网指的是isr里面的路口。不是所有的follow网,如果所有的follow网,那刚才所说的S3那个东西不就没有用了吗?对吧?啊,这块指的是S里边的所有的follow。
04:03
所有的follow落全部完成之后,哎,来返回来返回,那这种情况下,我们所说的它是不是leader挂掉了,你先选取一个leader。那个同步完成了吧,啊同步完成了这种情况下,我们所讲的它是不是不会丢数据啊。但是极限情况下有可能也会丢出去。IR,这个队列里边你是有三个副本?但是阿萨队列里边只剩一个力,就是其他两个同步的,特别慢的时候。那你离了挂掉了也有可能会丢数据,能听懂这个意思。能听懂吧,啊,也有可能会丢出去,是这个意思啊。嗯,不是重发,怎么重发。怎么不反回我当中只有一个leader,我写完了,我一个人写完了,不就发送吗?
05:07
我说的是队列里面所有的,刚才强调这个S写的,这白写了。的,我说的是是当中的所有的全部能听懂这意思啊,那你有三个副本是不是一个leader,两个follow,但是由于他们是同步时间吗?这两个网络不好,这两个是活着的啊,注意是活着的,但是呢,它不在SR里边,是不是有这种可能性啊。因为从慢嘛,那现在isr里边是不是只有一个leader啊,那我发送数据的时候,是不是只要leader写完之后就发送法回啊,因为说的是IR里边的那种,对吧,那这个就相当于如果SR里边只有一个一的时候,是不是退化到了等于一的那种情况,只要等待Li,哎,那这种是我们所说的极限情况,哎这种情况呢,其实比较少一点。
06:02
啊,比较少遇见啊,如果说这种情况也可能会造成什么数据丢失啊,数据丢失这个要注意一下,因为之前有那个学生被问到这个问题,他说AC等于一的时候,因为我们我们很少聊这个事情啊,AC等于负一的时候,说生产数据里边会接入数据。啊,很少聊这个事,但是他当时就问到了,其实就是聊的这种极限情况,其他的有follow是活着的,但是leader只是一个leader里边,啊,这个呢,也有可能会丢出去,这个要注意一下啊。好,那接下来我们看一下它更多的其实等于负一的时候,它会重复数据。他会重复数据啊,这个是聊的更多的,那我们看一下为什么会重复数据,大家想一想。重复数据主要问题出在哪了?来我们看一下啊,就正常的数据,一个LEADER2个发动生产者对吧,是不是给leader发送一个hello,那leader是不是写完了,对吧,我是不是还可以继续发送数据。
07:03
啊,这是同步,同步之后呢,去哈过来。好此时立挂掉了,那这种情况下。这种情况下注意啊。这种情况下,如果说同步完成了。而且也发过去了。会丢数据吗?不会吧,啊,不会丢数据是最好的我们的一个情况,但是呢,他有可能会这种情况。我follow已经同步完成了。还没有发AC的时候,你的挂掉。是不是选一个的挂掉了,是不是选一个新的就没有发送AK的时候挂掉了还没有发,是不是选一个follow做什么?做leader吧,选一个follow做leader,那follow他他已经写完了吧。但是由于生产者这边不好意思,我没有接收到leader的一个返回值,所以我是不是还要再发一次选leader,哎,又发了一次,是不是造成了什么数据重复啊,所以呢,AC等于负一的时候,更多的是造成数据重复的问题啊,因为它会造成那个数据丢失,但是那种情况呢,比较少见,就是我们所说的你有很多的副本,但是呢,这些副本都不在SR的时候。
08:16
对吧,啊是这个意思,这个要注意一下啊,注意一下,所以呢,这三种情况下,前两种呢,更多的是丢失数据,最后一种更多的我们聊的是什么。重复数据问题对吧?啊,重复数据的问题,这个要关注一下啊,这个要关注一下OK。
我来说两句