00:00
好,然后我们来看一下这个整个的一个工作流程分析,它的一个工作流程分析呢,其实分为三块。就是生产消费加中间的一个存储,那卡卡他这块不做处理的,对吧,它不是一个分析框架嘛,对吧,它就是叫存储啊,就分为三块来看,那整个的讲解呢,也是第一个生产吧,存储消费是吧,分成三块,那我们在总体的把这个东西先过一遍啊,先过一遍OK。然后同样呢,它还是这样的啊,其实就是上上午讲过的那张图,我们再回头再看一遍,再感受一下,感受一下,呃,首先呢,它分为三块,生产消费加卡布卡集群,对吧,那从K我们知道它是一个框架的润滑剂,它是辅助卡夫卡工作的吧,辅助卡布卡工作的是这样的,OK,那就是首先是卡法集群,你得有,无论是生产者还是消费者,他肯定要都要连到卡帕集群。
01:01
才能说写数据什么,读数据吧,啊这样的一个过程,OK,那首先有卡巴集群,那我们搭建卡夫卡集群的时候,它里边小的组件叫什么。对吧,但是它那个进程GPS进程看到的是是卡不卡,是卡不卡,但是它的节点的实例是一个一个的博啊博做成的,那要注意这个点就是ID对吧,它每个broke有一个自己的ID,那这个ID要是唯一的吧,而且是一个int类型的对吧?T int类型的这块要稍微注意一下就OK了,好然后之后呢,是卡夫卡里边我们搭建起来卡夫卡集群之后是不是什么创建,现在创建那个什么topic。对吧,哎,创建topic,那其实在卡卡集群当中,实际的存储的一个数据的位置呢,就是topic啊,就是topic啊那。Topic里边就是你创建topic的时候,你要指定两个参数,对吧,一个是什么。
02:01
副本一个是分区,一个是分区,而且我们现在已经知道了,它分区其实就是干什么。分成了一个一个的文件夹,对吧?哎,分成了一个一个的文件夹啊,其实是跟那个have它的分区是一样的,Have分区是不是也是分的文件夹呀,对吧,跟have一样的,OK,然后我们还指定了一个参数叫那个。Re,杠,对吧,副本,那副本OK,那我们还做了一个测试,就是我我们只有三个节点,但是我想把这个topic干什么?设置四个副本报错吧,啊,它不行它不行,所以说这一块呢,你要跟那个HDFS做一个比对,我们要对比它是不一样的,HDFS是不是你有几个节点跟你设成那几个副本没有关系啊对吧,那卡不卡这块它有关系,你设置的副本数呢,一定要小于等于。你的数吧,你的数这块要注意一下啊,不数好那。
03:03
分区跟那个没关系啊,分区可以,你像刚才我们看到了默认的就是系统它创建的那个什么consume of那个topic,你看一下它是默认的,它是50个分区。50个50个分区,而且它分区是怎么放的,它没有副本啊,它没有副本机制,它是按照那个分区号是零到49模拟不如个数。然后取X12这样这样画的这样的,你可以去看一下啊,你看一下。好,然后呢,这就是分区,它没关系啊,跟不没关系,因为副本我们之前讲的你将数据。你的一个leader跟follow,或者说两个follow放在一台节点没有任何意义吧,对吧,没有并没有达到一个什么高可用的一个作用啊,就是说假如它挂掉了,是不是你那个两两个副本都丢了呀,对吧?哎,所以说它不会放到同一个节点呢,那才会导致你必须要小于等于它那一个不个数啊不数这块要注意一下,OK,然后是那个生产者,生产者销生产数据的,对吧,那我们一直说的他生产数据是搞定的。
04:10
找leader,但是我们写的只是什么?嗯,我们写那个参数的时候,写了leader是什么。没有吧,哎,只写了谁啊?Brook-list嘛,那个参数嘛,对吧,可能因为刚讲的东西啊,有点忘啊,有点忘,因为没练啊,因为没练啊,听一下他连的是这个卡法的一个集群啊,他自己会去根据那个集群,然后加上那个topic啊,会找到你的leader是谁,然后跟leader进行通信,跟你通信将那个数据写给leader啊,写给leader这样的一个过程啊,然后副本就follow,自己会去跟leader同步啊,自己来获取,获取数据是这样的。好,然后这是分区副本机制,那当的如果说你只有你建创建topic呢,只有分,只有一个分区一个副本啊,这也是可以的啊,这也是可以的,你要注意一下是这样的,呃,你可以往一个你没有创建的topic里面发送数据。
05:13
能能不能听懂我在讲什么,就是说假如说我现在没有三二对吧,在我深圳上可以往深成往S2里边发送出去,这个时候呢,它会给你创建一个。C2这个topic啊,它系统会给你创建,系统给你创建,它创建,那有同学说那这个分区副本怎么选择呢。对吧,它是根据咱们不有个config那个文件吗?它是根据config里边不是有个consumer点吗?根据那个里面写的分区和数。啊,那里边写的都是一一,所以它创建出来的那个分区跟副本都是一。好,你这块假如说做测试的时候,因为有的同学之前有同学副写错了是吧。它写成了好像是F2R SD好像写成了F2ISD等等,就是字母顺序写错了。
06:01
他还能,他还能正常的去干什么?去使用,然后最后看数据的时候,他进到那个文件夹,文件夹他进CD进去总不会错吧,对吧,看见那个名字,他发现那个数据没有,他觉得很奇怪啊,以外是这样的,他是会默认给你创建一个的啊,会默认给你创建一个的,就是你们做测试的时候,假如字母操过了没找到数据,你看一看list一下你的topic是不是多了啊,是不是多了,是不是系统给你自己创建了这个意思啊,稍微注意一下,好,然后就到了我们那个消费者这边。消费者这边,那我们之前也启动了消费者是不是,哎启动了消费者来消费数据,那同样呢,他可以一个消费者形成一个组,同样的他还可以多个消费者在一个组里边,在一个组里边,那这个到时候我们有一个组案例,呃,你要想把多个消费者放在一个组里边,其实每一个消费者他有自己的一个组ID。有个group.id有一个这个属性,哪个组ID,那如果说你将两个生产者消费者把它那个组ID。
07:08
设置成一样的。那他就是什么,那他就是一个组里边的啊,就是一个组里边的是这样的。啊,这样的,而且这个你控制台启动的那个。消费者,之前我们没有指定他的组吧?它是后面,后面会串一个随机的数字,当做它的一个组,当做他一个组,这个东西我们在从K里面能看到,因为我们之前不是说了从K里面会保存。Consumer的ET嘛,对吧,他肯定要知道你这个consumer是谁啊啊,他随机生成的一个数字,到时候我们看一看一下,OK,然后这块要注意一个点就是呃,关于消费者组的问题啊,他不能够怎么来消费啊。就是说同一个组里面的多个消费者不能够。同时消费同一个分区的数据啊,同一个分区的数据,这要注意啊,这要注意啊,然后这一块呢,是这样的,那同一个组里边,那就意味着同一个组里边不同的消费者可以消费同一个topic不同的分区的数据,对不对,对吧,而且在公司都是应用的时候呢,呃,那关于一个topic,你要读一个topic的数据啊。
08:19
他有多少个partition,你就应该起多少个,消费者就多线程共同工作啊,就提高效率,提高并发的,对吧,你说是不是提高了并发呀,啊提高了一个并发,提高了并发,那整个的分区,如果你建立了多个分区的话,它是。减小负载的话,哎,减小负载的,因为如果你只有一个分区,那你的leader的肯定在某一个节点嘛。对吧,所有的数据都在一个区里边,所有的数据都在一个区里边,那这一块所有的请求,关于这个topic请求,假如说这个topic b对吧,那所有关于topic无论是读还是写,是不是都找一个三啊。对吧,那它比个A就不一样了,它分成两个区,那你要是帕是零,你就找二跟一,帕定一呢,就找不个二,它减小了它每个人的一个负载吧,啊减小了负载,同时你由于你这边有消费者组的一个存在,你可以让一个组里边不同的消费者去消费不同的分期数据。
09:18
同时又提高了一个什么并发度啊,提高了一个并发度,这等等都是它的一个好处啊,分区的一个好处啊,面试题当中会问到的啊,面试题当中会问到的这种东西啊,一定要理解,一定要理解,OK啊这个点注意一下就OK了,然后后面这个组cable当前我们这个图上是不是这个。Topic也就这个broke跟这个谁cons都跟有交互,哎,我们也解释了啊,首先第一个你答题群。是不是要有一个属性叫keep.connect这个要有吧,哎,这个是有的,第二个你创建topic的,Topic的时候是不是也指定了参数是杠杠诉C呀,对吧,还是这样的,所以说呢,无论是topic的一个信息,还是你提取那个信息,都会在这个从keep保留原数据的,保留原数据的,第二个像生产消费者这边。
10:13
消费者这边老的是不是有一个O的cons啊,哎,老的一个消费者是不是将它那个off保存在K外啊,所以我们写的参数是不是告不告诉K啊,但是我们用的是0.11对吧?哎,比较新的一个版本了,那这个时候它是不是有个警告啊。他说你你用的是一个老的消费者,那他让你用那个什么不to-solo来代替一组keep吧,啊就是新的,那新的它是将那个off呢,维护在本地哦,护在本地,你要知道它虽然说维护在本地,其实它还是维护在。Topic当中吧,哎,那个topic叫什么下划线,下划线什么consumer,一个下划线outside对吧,是这样一个topic,这样一个topic啊,那你要注意一下这些东西就够了啊,整个的架构图是这样的,那现在应该比上午能稍微清楚一点吧,就包括我们用了之后啊,相应的一个配置文件,自己配置之后。
11:06
哦。没有清楚一点是吗?我看有同学摇头是吧?啊,有同学摇头啊,啊,没有清楚也没关系,对吧,因为整个的过程我们还要干什么,把它再细分啊,保生产保存数据消费啊,我们要看一看从K里边数据到底有什么。对吧,哎,整个的存储,然后看一看,它套一个里边实际的数据到底有什么啊,到底有什么我们要看一看呢,OK,这是整个的大的方向的一个工作流程啊工作流程。
我来说两句