00:04
好,下面呢,我们来看这个offset管理。呃,这个我们大家首先要清楚啊,我们这个off管理指这个off指的是什么。嗯,这里的off。指的,呃,指的是。呃,这个的消费进度。下载。这个东西啊,所以说消费。每一个Q的不同,呃,消费者组他的消费进度的。呃,其实呃,记录的更确切一些,这是我们每一个啊,这个消费者组里每一个他的消费进度的。那根据消费记录记录器,我们前面不是说这个东西了吗?啊,消费记录记录器啊不同,可以分为两种模式,文定模式和远程模式。
01:06
对吧,本地模式。本地管理模式啊,是指的什么呢?啊,就是当消费模式是谁广播模式的时候,因为我们这个啊。前面。其实。消费模式为广播。广播。消费啊。广播。消费。广播消费时啊,消费模式的时候呢,使用本地这个模式存储。就是我们把这个呃记录到哪,记录到我们本地啊,因为每条消息呃会被所有的消费者消费,每个消费者关于自己的消费进度啊,各个消费者之间不存在消费进度的交集。
02:05
其实就是我们。呃,我们。嗯,前面在哪啊。就这原来是这样是吧,所有的消息我我一个人会消费,所有的消息我也会消费所有的消息,我也会消费所有的消息,我也会消费所有的消息,所以我就各自记录各自自己。消费进度就行了,都寄到哪,寄到自己本地?啊,寄到本地就可以了啊。Consumer在广播,呃,消费模式下啊,Offset相关数据是以森,都是以森的形式的。但是存在哪呢?啊,这边本地磁盘文件里边。默认路径是当前用户主目录下的这个。这个路径。呃,这是个隐藏的啊,这个隐藏的。
03:03
点开头的吗。是吧,这是隐藏目录啊,在他下边,嗯,这这是group是吧,然后这是ET啊,然后这个client ID指的什么。再说了,指的是消费者customer ID啊。默认是谁有ipult?Group是消费组,消费者组名称,这个这样写。更好一些。是吧?这样写啊。因为这这个东西不是固定的是吧。呃,是他的消费者总名称款。然后我们再来看这个。呃,Set远程。和管理模式,远程管理模式是什么?集群消费。是吧,这个我们前面也是。有说过的啊。
04:01
集群消费。是用远程关联。那么因为所有的consumer实力对消息采用的是均衡消费,所有consumer共享Q。的消费进度,就是我们说的叫集群,集群,那我们大家啊分开啊,把这些都分开。啊,分开消费的时候,诶,然后我们都寄到寄到我们的broke里边,这样的话我们可以共享这些。下进度。对吧,共享消费进度啊。呃,然后呢,它也是呃,以金线的形式啊,存存存放的存,只不过存放在磁盘里边。呃,路径是这个路径,我们前面这这个也是。见过的啊。对吧。这是见过的,这个在哪啊?
05:01
呃,这个在。呃,在这是吧。这不这个算这个文件啊,我们前面见过见过他啊。哎,这是这个东西啊。然后broke啊,启动的时候,启动的时候。呃,会加载这个文件。然后并写入到一个双层map。写到一个双层办法,这双层办法我们也见了,在哪儿?呃,外外的key是谁?就这个public group。我们也前面也说了啊在这。在这。你看。就这个,就这个map法啊,Consumer of manager key是谁?Key是topic与订阅topic group的组合,这个组合就是我们。
06:11
就他。注意啊,就这个东西你看。这谁at我们的group?这就是这个key啊,这就是这个key value是这个东西,这就是value。内层拜访。呃,然后K是q ID value是offset对不对,那这我们也是刚刚说过的东西啊。是不是在这儿,所以这个组合你要知道是谁。组合我写干嘛?Public data。Group。这就是他的这个组合啊。下进度,你看K,呃,Key是它,Value是内存map,内层map的key是QID。
07:07
是吧,Value啊是value是消费进度是吧,所以。就是他这这我们前面说过的啊。不过到这儿以后啊,其实有一个问题。大家不要光跟着老的这个思路啊往前走,你跟着思路往前走是发现不了问题的,什么问题呢。就说如果我们谈的是集群消费啊。那你说要是集群消费的话。我把。这个消费进度保存在我本地难道就不行吗?你想想啊,我们这个消费进度offset干嘛的?它的作用,它不就是为了。保证。我可以持续消费吗?我消啊,我给你记一下啊,我现在已经消费到这个位置了。
08:00
在消费的时候,我就从这个位置开始往后消费。对吧?是为了嫉妒一下,就为了保证可以持续消费,那我非得嫉妒他吗?我记到我本地就不行吗?广播模式下,我记录到本地是可以的。那我集群模式下接到本地就不行了。你如果仅仅是为了保证持续消费啊。你自己看啊,你自己持续消费是没有问题的,但是。就怕单吃。打卡了一下。如果说我现在啊,这个我保存到本地啊,我这个消费消费进度啊,我我假设啊,我我这个这个消费到了这个位置是吧。我记我我记录下啊,这样这样我就记记到这这个记一个数啊,我就记到这儿了。这以后。我这进来一个就就写到它里边诶。就写到这里边一个数字啊,来记到这儿,然后夸嚓。
09:04
他挂。惯了,我们大家知道马上就要进行什么rebel。这rebel。他原来比如说分配分配的啊消他消费这个。那现在把这个分给谁了?分给他了,那他要继续消费的话,他得有以前的offset。就你那个消费进度啊。那信号镜在哪呢?在这儿呢?他获取不到啊,这个已经挂了。他获取不到啊,所以他从哪消费不知道。所以啊,我们。呃,我们大家需要需要需要清楚啊,我为什么要把它记录到,呃,就是就是就是呃。这个这个这个这个。远程进入到我们的这个broke里边,目的就一个。目的啊,其实就一个。
10:00
写一句话吧。嗯。集群模式下。呃。Of sat。采用远程管理模式。主要是为了。保证什么?Reb。其实。你发生re balance的时候,其他的新的consumer能够获取到这量。主要是这样啊,这是我们要要要要要清楚的啊。
我来说两句