00:00
好,接下来呢,我们来看一下粘性的一个分区分配策略以及再平衡,那这里所谓的粘性啊,就是把你粘上啊,就不放了啊这种方式啊,那下面来看一下说粘性分区啊,是卡普卡从0.11版本以后引入的这个策略。那它呢,首先会尽量的均匀的进行一个分配,A让消费者尽量消费均匀,那怎么理解呢?假如说我们这里面有七个分区。三个消费者。那么七个盆区三个消费者,他就会七除以三等于二余一,那就是尽量的按照三。222这样去分,所以说海哥你这个不跟润一样了吗?哎有点区别,润的话呢,这里面必须的顺序是012,然后3456,是这样吗?那么如果是粘性的话,它是随机的,比如说你这是012,那它会变成假如说二。三六,那这个呢,有可能是一,有可能四再来一个零和五,有可能这样给你进行一个分配啊,这个呢,就是所谓的粘性尽量均匀又随机的进行一个分配,那下面我们来验证一下是不是这样的哈。
01:13
那好,那下面呢,我们要改变一下它的分区分配策略。那它的对应的全类名啊,就在这啊。他拿下。改一下我们之前代码。来到第一个consumer。把它换掉。嗯,然后下一个。再来一个。同时呢,为了避免起义,我这里面再改变一下它对应的这个消费者主哈,那这里面来个五吧。OK啊,一致了,一致下面呢,我们就来运行一下三个消费者走。好,再开下一个。
02:01
再看。这样呢,三个消费者我就启动完毕了,那下面呢,我来发送数据走。数据当中0123456全都有,那下面来看打开,打开之后第一个呢,消费的是零一。那好,那下面呢,我们来记录一下啊,打开。第一个呢是零一。那下一个消费者看下一个消费者呢,是对应的叫四六啊456。456。那就是。五六,那再来一个,再来一个就是对应的二三好。二三行,那零一啊45623,那么我说它是随机产生的,那它到底是不是呢?我把它关掉。好了,我关掉。再关掉,再关掉,我都给它关掉之后,我再来执行一遍。走。激动。
03:01
启动三个消费者啊,我重新启动了,我再给他发送数据,看一下它对应的一个顺序。发送完毕之后啊,稍微等待一下。那下面我们来查看一下啊,这个呢,消费的是几啊,这是114。对吧,哎,消费的一个是一四。一四。下一个呢,下一个消费的是零。零六。啊036。036。再来一个,再来一个,对应的是五。和二好。五二对吧,哎,那总之跟上一个顺序是不是不一样的啊,也就说它是实际产生的,那下面呢,我们仍然来做一个破坏性实验,我将这个036给它干掉,干掉之后再来发送数据,看看036的活谁来接,是这样吗?嗯,好。那我们把它036的找到。这是二五,现在是036。
04:03
一次那036把它停停掉之后呢,我再快速的在45秒以内发送数据。好发送完毕,那这边呢,收到的仍然是二五,他收到的一仍然是一四。二五和一四。那等着吧,看看036的活怎么分啊,他的活。那036呢,它仍然是按照尽量均匀的一个分配啊,把这个036打散分到一四和二五上面去啊,看看是不是这样。好哎,数据捕捕捉到了,数据捕捉到之后呢,看一下这是三,那另一个呢,很显然就是应该是零六了吧。对吧,哎,零和六,比如说它尽量的是均匀的一个再次分布,那下面呢,我们再做一个什么实验呢?哎,我再次发送一波数据,哎,我这里面是不是只剩下消费者他和他了。那它下面会怎么分配呢?哎,我七个分区三个消费者啊,现在呢,变成两个消费者了,那两个消费者的话,那他是不是应该是一个是三,一个是四,哎尽量的均匀随机分配啊,是不是这样呢。
05:24
看一下啊,这呢消费的是1046啊10461个呢,消费的是1046。翻看另一个,另一个消费的对应的是25253235对吧,235。对吧,那现在呢,就是七个分区,两个消费者啊,正常一个分配,再呢,就是采用粘性的这种方式啊,进行一个分配策略哈。
我来说两句