00:00
啊,呃,然后关于这个点对点模式,还有发布订阅模式这个文字性的描述呢,大家自己去看一看,还有这个为什么需要消息队列,刚才在这块讲具体的操讲每一个属性的时候,也给大家解释了吧,啊,那这块的东西大家自己看一看,好接下来我们聊一聊这个卡卡。卡夫卡啊,我们之前讲的卡夫卡呢,它是一种消息队列,对吧?啊,就是刚才我们提到的消息队列的一种,来看一下,首先它这个定位是卡夫卡是一个分布式的一个消息队列。分布式的一个消息队列,所以说它是有集群的吧,啊,有一个集群的概念的啊,然后最初什么领音公司开发的啊,但是后来给那个也是给阿巴奇了,给阿巴奇维护的,给阿巴奇维护的。呃,是这样的,那卡夫卡呢,它是。拿skyla写的,它最底层的是skyla,但是现在大家还没讲那个skyla对吧,而且大家看啊,就是我给大家提供的这个价包这。它的版本叫什么?2.11-0.1对吧,叫什么东西,那其实这样的分两两部分看,2.11指的是skyla的版本,Skyla的版本,然后后面这个呢,才是卡夫卡自己一个版本啊,就是说这个版本基于盖LA哪个版本开发的啊,所以说这个卡夫卡的一个版本呢,你要基分成两部分来看啊,分成两部分来看是这样的,它是基于这个skyla开发的,所以说呢,学习过程当中,有时候就不能够看太多底层的一个源码了,底层的一个源码了,那这块呢,大家学完斯加了之后啊,对于卡普卡有很有可能有一些不理解的地方,对吧,因为我们讲的都是一些,呃什么。
01:39
工作流程分析啊,都是一些原理的东西啊,因为看不到很多底层的一个代码,那这个学完之后,大家有一些不理解的地方,一定要自己尝试着去看一看啊,尝试着去看一看啊,往底层走一走,是这样的啊,其实这个东西呢,呃,你工你工作的时候肯定是要去看的,但其实在前面学习的时候呢,不建议大家看看太多过于底层的一个代码,因为面试过程当中,如果会问到源码相关的一个东西,我们在课程当中会给大家介绍。
02:10
哦,肯定会带大家看到。我们不介绍的有源码了,肯定面试当中很少问到的,但是你要注意你开发,你真正在公司当中做开发的时候,你肯定是做某一块的一个东西了,开发了,那你一定要往下钻一点啊,往下钻一点啊,自己才能够走的更好一点,走的更远一点,是这个意思啊,要理解的,但是学习过程中呢,本身大家学习的压力就很大,然后天天看源码看的比较晕是吧,看源码是不是挺晕的呀。对吧,没有没有很晕是吧,没有看源码,你们看多的时候不是看的挺多吗,现在。那那不叫源码呀,其实那个东西都不太笨啊,都不太笨啊,那个东西在面试过程当中都不太笨,问的东西呢,就是我们在如果面试当中问的比较多的关于源码的东西,我们肯定会提到文档里边带着大家过的一定是这样的,问的比较多的是其实是Spark那块的一个源码,到时候Spark原理会带着大家整个把提交流程又过一遍,就是你之前过了那个什么。
03:12
的一个提交流程对吧。对源码是要过一遍,对提交流程,你因为你不知道这个源码怎么走的,你你在面试的时候你不敢说,你说你你光我们提供的资料,你说的比较心虚,你知道吧,所以说不需要,就是说还是大家不想看原版吧,对吧,一定要一定要看的是吧,Spark那块看的会多一点,因为Spark他问的多,所以说课程的时候我们也会看的多一点,但像于这些框架你看from。跟源码有什么关系啊,就那个官方文档就够了就够了啊,然后是监控那块,他问的是这种东西,所以说就不用看源码了啊,不用看了,但是你要注意的就是工作的时候。如果说你真的是做服务,卡不卡这一块啊,因为每个人负责模块,你到工作当中工作的时候,你不可能说整个大数据流程全是你一个人负责,你肯定是某一块某一块,那你那个时候你针对那一块去相对来说啊,需要调优量,说要干什么事的时候,你再去自己去钻研成源码啊,钻研源码啊,源码也不是说啊随便的去找一个资料去看,然后你也根据什么。
04:22
去网上一些博客啊,根据他们的一个思路,先自己去梳理梳理啊,这样的一个方式去看源码是这样的,咱们视频。呃,就讲编码那种视频录下,到时候我们去工作的时候。不懂了,拿出来看一下,你说这个事情是吧,如果没讲过的话,说假设我们工作以后,你工作的时候就自己学习能力啊,你不能就总指望我们来帮你们做这个事儿,对吧?那那工作当中,那你看一个框架的一个源码得多少呀,那我们怎么知道你们工作当中用用到哪一块呢?对吧,那每个人需求都不一样,那我们要准备一个视频,把这个源码从头到尾整一遍了,这不现实,对吧,这个太太难了,就是说如果说你在工作当中,你自己还是看不懂,你找资料还是不能解决的时候,你再回来问我们,然后我们一块来探讨这个问题。
05:17
啊,是这样的啊,肯定是这样的一个思路,不可能说我们提前把那些源码,所有的源码都准备好一个视频,然后给大家啊,这是不现实的,那工程量得多大呀,对吧?这么多框架,每个框架的个源码你想想看得多少啊,肯定是针针对某个点去看的啊,针对某个点去看的是这样的,OK,然后是卡不卡这一块还有个什么东西呢?啊,稍微记几个概念。稍微记几个概念,什么东西呢?第一个他说卡卡对消息保存的时候啊,根据topic进行分类的,稍微记一下一个topic叫什么主题对吧?哎,主题这个东西呢,就是实际卡夫卡之前不是说了,它可以缓存数据嘛,对吧,卡夫卡这个消息队列是可以保存数据的,它真正保存数据保存在哪呢?保存在这个topic一个一个的主题里边。
06:07
一个一个的主题里边就类似于什么呢?一个水池子啊,就保存在水池子,那这个水池子的名字叫topic是这样的,然后还有你既然是保存数据用的,那数据是不是有来源,有出入口啊,刚才说的一个水池子对吧,那水池子有入口,有出口,那它这个入口呢。就叫producer生产者对吧,生产出就用了,那它的一个出口呢。就是消费数据,用的就是消费者。就是消费者,那你把这个东西对比着服务看一看。什么source China think吧,对吧,哎,三个组件,三个组件,那它其实就是同属一个层的对吧,都是传输层,所以说它整体来看组件都差不多对吧,组件都差不多,那没有集群,它有集群,那它集群是怎么来的呢?是样有多个卡卡一个实例,它每一个实例呢,叫broke。
07:02
Brook就类似于你们HDF的一个实例,那么no no,对吧?啊,它就叫brook是这个意思啊,它这个实例叫broke啊,集群是这样的,然后还有一个问题就是。第四点比较重要。都标红了对吧,从K,因为卡普卡它是依赖从K的。依赖做开的,首先这个卡巴卡集群是依赖于做开的。依赖组的,它里边不会配一个什么类似于HDFS,有个name no的,它没有,它三个都是一样的,都叫broke啊,都叫有不同的broke ID。但是它怎么知道这三个波ID就形成了一个集群呢?是依赖于同一个动K,它就能识别到它是一个集群,所以说它整个的集群的一个构建啊,就卡夫卡这个集群的构建是依赖于S的,依赖于索菲的第二。什么消费者对吧,还消费数据等,那这个东西也会依赖于K。
08:06
那它依赖因素该有什么呢?你看一下,就像我们刚才所说的那个什么my source,对吧,我们用了一个监控一张主表,还来了一个什么原数据表干什么。保存上一次读到哪了吧,对吧,那你想想看,消费者消费。你最好不能重复消费吧,你消费掉数据,你下一次就不消费了吧。他也有要保存off的吧?嗯,它也要保存平移量,就是说你这个数据呢,我上一次读到哪了,我下一次是不是从这个地方接着读啊,它的一个offset是。存在里面了。而且这是老版本,新版本呢,它可以维护在本地啊,到时候我们敲命令的时候,或者说写API的时候,都能看见相应的类似的一个需求,它可以这个cons可以将数据就是off保存在做K宝,保存在做K网,但是新版本呢,已经维护到本地了,到时候我们会讲为什么新版本要把它保存在本地啊,面试题当中会问到的这个问题啊,这是一道面试题,就是说为什么新版本不保存在那个tableable了啊,保存在本地了,这样的一个面试题,到时候我们会跟大家说,因为现在说了大家也记不住对吧?啊,就是大家大家想知道一下,就是说卡夫卡这个集群啊,卡夫卡集群和consumer依赖于注意这个地方没有提到什么。
09:26
Producer,因为producer整个过程当中,它不依赖于所报,它不依赖于所配报,是这样的啊,因为它是生产数据对吧,生产数据你就知道你要往哪个地方写,往哪个topic这个写就行了吧,啊是这样的啊,这样的这就知道了就行了,OK。这是卡不卡的一个相对来说一个概念啊。
我来说两句