00:00
大数据组件现在我们就部署完了,那现在我们得琢磨这么一个事啊,我们大数据组件搭完了是为了干嘛呀,是不是要把我们的数据给它传输到哪儿啊,传输到我们的数据仓库吧?啊,那传输到数据仓库第一步我们来到这个系统流程设计图,你看第一步我们是干嘛啊?啊,我们数据有几块呢?是不是有两块啊,一个是业务数据,一个是用户行为数据,那业务数据我们是存储在my circle的用户行为数据呢?日志服务器帮我们采集到日志文件了,好,那我们先看这个流程,我们现在是用户行为日志的采集嘛,好,那首先我们要先把用户行为日志给他采集到哪儿啊,哎,给他采集到卡夫卡集群呢,那同样业务数据啊,我们也给他采集到卡瓦集群,好,那我们先一个一个来呗,先把。这个给它放到卡卡机群啊,先实现这么一个环节,那这么一个环节我们先往檄翻啊,往下翻,你看啊数据通道,看看我们的数据通道是什么样,我们在哈杜102上是不是有一个日志服务器啊,那日志服务器它最终生成的日志格式是这样的,以APP点为开头,以点到为结尾,那干嘛呢?哎,这个就是我们的日志文件嘛,那YYYYMMDD是日志的一个时间啊,文件滚动的时间,注意这个是文件滚动的时间啊,它不一定是我们日志产生的时间,好啊,这个不重要,那我们重要的目的是给他干嘛呀?哎,是把日志服务器当中的这个日志啊。
01:44
把这个日志给它发送到卡不卡里,好,那在这个地方啊,我们上面也看了,我们是有两个日志服务器,也就是在103啊和102分别有一个日志服务器,那么对应的日志肯定都是打到他自己的这个服务器上啊。
02:05
那这个是在102上,那这个呢是在103上,那好了,那现在你说我们安装几个flu呢?哎,我们在这儿是不是要安装两台啊,为什么?因为他们两个在不同的服务器上啊好,那我直接在102上安装一个采集本地的日志,然后我在103上安装一个采集本地的日志就完事了呗,好,那有同学说了,那老师我安装一个采集这两个行不行呢?那你安装一个采集两个,那必然有一个要进行跨节点通信,哎,那不太好,我们呢,直接就安装两个就完事了,通过两个flu给它发送到卡不卡?好,那说到flu我们就要回顾一下了,我们啊之前学过的这个组件,那看看我们用哪一个合适呢?好,那我们之前学过哪些组件啊,那说到south啊,有三大组件吧,South title以及think啊,那说到S,我们学过哪个,首先啊,Ta title ta s吧,这第一个啊,这第一个那了t t source以外,还有一个AV source啊,还有一个nc source network啊,那除了这三个之外呢,其实还有一些S啊,还有一些S,你像EXE啊,今天呢,再跟大家说一些啊,一个是EXE。
03:37
S还有一个poling s po Ling,好啊,S呢,一共有这么多,我们呢一个一个看一看,T Di source,它可以读取文件的数据,实时的读取文件的数据,并且支持断点续传啊。R柔S呢,啊,它呀是在flow之间互相传输的啊,这么一个S,它一般配合R柔think来使用,哎,它一般配合这个阿瓦柔think来使用,NC呢,接收网络端口了,那ex ec和springli这个我们没学过,好我们说一下啊,什么是ex e source ex e它跟t DR source一样,也可以监控我们的文件,而且是实时监控,但是它有一个缺点,它不支持断点续传啊,它不支持断点续传,所以说这个source一般没有人用啊,什么叫不支持断点续传呢?啊,我们现在有这么一个文件ex e source他开始监控了啊,监控的时候啊,你看这啊,我写文件写文件,写文件啊,到这他都能监控的到啊,那他能监控吗?那好了,写到这了,你挂了,挂了之后我接着写啊,这是。
04:57
二三,然后4567啊,4567这么多数据,这个exc上他就监控不到了,好了,那起到这儿了,他起来了,起来之后他只能从八九开始监控,那么456这34567啊,4567这四条数据就丢了,哎,Ex ec s监控不到,它不支持断点续传,哎,所以说这个S啊,一般没有人用,那接下来我们看看s s spling source它呢,支持断点续传,哎,但是它监控的不是文件,它监控的是什么呢?它监控的是文件夹啊,它监控的是文件夹,那它是怎么监控的呢?你看啊,我们现在这有这么一个文件夹,然后我们这有一个spling source po Ling,好,那它怎么监控啊,当我们这有一个文件,哎,这个文件我写完了吗?啊,写完了写了100条数据。
05:57
然后我把这个文件我丢到文件夹里的时候,那么它会把我这一个文件的全部内容,哎,从头给我读出来,这是死不Ling s,那好了,我现在有这么一个需求,当我再次往这个文件末尾写内容的时候,那么这个内容布Ling source他监控不到啊,他只能监控到我进来是什么样啊,我丢进来是什么样,那么他会把整个文件给我拿出来,来,这个是我们的死不0S啊好,那这种情况,那有同学说,诶,它也行啊。
06:35
啊,而且你还支持断点续传对吧,那你挂了,我接着起来之后数据不会丢,那它是不是也行啊,对也行啊,但是它有一个缺点呢,什么缺点呢?你看我在外边把这个文件写完了啊,写完了那我可能从第一条啊,假设一直到这儿100条,我写多久呢?我写了十分钟,哎,十分钟我写完的,那么十分钟之内,我们这个后边啊,是不是就没有数据采集啊,因为十分钟之后我才把这个文件丢进去嘛。
07:06
啊,那也就是十分钟这个过程当中,后面它就没有数据采集,那如果说实时计算的话,哎,啊它就不太好了,对吧?哎,它的这个数据的时效性啊不太好啊,你像这种呢,特定的场景哎还是可以使用的,你像我们这边过来,哎就是给我们过来一个文件的这种情况,哎,那用S不SS它是比较合适的啊,所以说这两个S呢啊,一般来说没有人用了,那这些SS一般谁用的比较多呢?T Di s用的比较多,其次是RS,为什么呀?因为我们的flu一般会给它做成一个拓扑结构啊,一般会做成这么样的一个拓扑结构,那么这个时候啊,那么这个时候这个A柔S它就能用上了,好了,那除了这个S以外啊,还有一个S叫做卡卡。
08:02
卡卡south相对来说应用的还是比较多的啊,那这个呢,稍后我带着大家再来看一看官网,好,那接下来说China,那China在这个地方我们学过fair channel啊,还有一个channel,那m channel和fair channel它俩的区别不用多说了啊啊fair channel呢它比较慢,因为它是基于磁盘的,那ma channel呢,它读写快呀,但是。它有个缺点,它容易丢啊啊那fair才你虽然慢,但是它安全好了,那在这有这么一个情况,Fair才啊它虽然慢,但是fair才它有一个优化,那它是怎么优化的呢?啊它呢有一个索引机制,好这个是我们的啊范小才能啊,这是我们的一个机器吧哈度吧102哈多102啊好,然后呢,我们的范小才能数据就存储在102的磁盘上,那接下来我S往这个channel当中写一条数据,写一条数据它是不是落盘呢?哎,写到磁盘里啊啊写到磁盘了,但是它没有单单的这个啊啊没有啊啊对啊,写入到磁盘里好了,那写入到磁盘里,那接下来我这个SS是不是要从这读数据啊啊好了,他读了一波数据之后,注意对应的,他并没有直接把数据拿出去,而是啊,我在这记录了一个。
09:31
索引啊,In dex,我在这记录了一个索引in X,那记录这个索引有什么用呢?这个索引啊,是在内存当中的内存,这个是什么呢?这个是磁盘啊,这个是磁盘,那这个索引有什么用呢?你看我这次我数据,我要从文件当中读数据呀,那我从文件哪一个位置读呢?我来索引当中查找一下啊,那那我从内存当中这个索引我来查找一下,我知道了啊,我从这读,那这样我是不是从一个随机读写变成了一个,哎,找到一个指定位置读写了,哎这样是不是能加速我们查询呢?啊那有同学问了,你这是内存呢,那你这东西挂了,你挂了之后依然要从磁盘当中查数据啊,那它依然很慢。
10:26
那这个时候怎么办呢?那如果说我这个index挂了,那所引不就丢了吗?好file title呢,它有这么一个机制,它会把索引做一个备份给予你备份到磁盘上,那同学又说了呀,那好了,那你我现在我内存也挂了,磁盘上的这个索引它也挂了,那我再查找的时候,它依然不知道我这个索引位置啊,它还是很慢,那怎么办呢?这个索引我们呢,还可以进行一个二次备份,哎,我给你来一个再备份,哎,你不是觉得一次备份不安全吗?我给你来一个二次备份,那么如果说啊,二次备份你要是再丢了,那就不是你flu的问题了,那是你整个服务器都有问题可能啊,你这服务器炸了啊,磁盘碎了啊,啊,那再丢了有可能就是这么个情况啊,OK,那相对来说这个file它虽然是慢呢,在file里面呢,我们也是做了一个小优化。
11:27
啊,有这么一个索引的存在,OK,那关于这个菜筒啊,除了这么两个菜农之外,还有一个菜叫做卡卡菜啊卡卡菜好,那这个菜是什么呢?啊,那稍后呢,我们也会详细的来说啊,那其实啊,在现在在生产环境当中,这三个channel用谁的比较多呢?哎,其实用卡夫卡channel的啊要多一些,好,那为什么用它多,稍后我们会说那think,哎,没别的,就掌握一个就完事了,HD FS think啊这也是最重要的,那其次还有一个S啊,叫做卡夫卡think,哎,你发没发现不管是south China还是think都有卡夫卡,那么这三个组件它到底都是什么呢?好,那接下来我们就来看一看,那来到官方文档啊,来到。
12:27
啊的官方文档。稍等啊哎,有点慢,好进来了进来了我们点击do manion啊,然后点击user guide用户指南,那来到这啊用哎用户转安好CTRLF搜索,那搜索我们先找一个卡夫卡什么呢?卡夫卡S看啊卡普卡萨斯,你看他说卡卡萨斯,他是一个卡夫卡的。
13:02
Consumer,哎,你这非常实在,哎这个就非常实在,他告诉你了,他说卡夫卡S就是一个卡夫卡的消费者,什么意思啊?哎,我们卡夫卡SS啊,我就可以直接从卡夫卡当中读数据呗,那SS嘛,SS不是监控的吗?那他监控谁呀?哎,监控卡夫卡,那怎么监控啊,其实它就是一个卡夫卡S啊,哎,它就是一个卡卡S,从卡卡当中读数据,那他能干嘛呢?你看能读数据从卡夫卡的topic当中啊,那现在我们就知道了,卡夫卡source,它就是一个卡夫卡的消费者。嗯,很明显吗?那这非常明显,那再来我们再来看一个卡不卡,卡不卡,Think,你看他说是什么呢。卡夫卡辛呀,啊,他说这个flu think它是干嘛呢,他能。
14:02
发布数据到卡夫卡的topic,那说到这儿我们就想了,那谁能往卡夫卡的topic当中写数据呢?是不是生产者呀?哎,他虽然这个不是很实在啊,他没有说他是一个producer,但是我们都知道啊,生产者能往topic写数据啊,那他真的就是一个生产者吗?我们往下看啊,你看。连接卡不卡啊,然后再往下,诶你看这我们在卡不卡生产者的时候,是不是学过一个AC呀,啊,你看就是零一和负一啊,那这个地方producer很明显,那卡夫卡的think它就是一个生产者嘛,那对于flu来说think有什么用啊,Think是不是往出写数据的呀,写到外部系统的,那么往哪写呢?往卡夫卡写,那谁能往卡普卡里写数据啊。是不是?生产者呀,那卡夫卡think,它实际上就是一个生产者的实现,好,那这两个说完了,接下来我们看一看卡夫卡。
15:09
卡卡Cha卡卡好,那关于卡瓦卡这个地方啊,我就要详细说了啊,在这呢,我先暂停一下,好,那接下来我们就详细的来看一下呀,这个卡夫卡才,那卡夫卡才我们看一看啊,他说。啊,卡夫卡channel啊,它能把event,什么叫event呢?我们的这个flu是不是会把数据给封装成一个event的形式啊,哎,以event的形式在from当中来进行传递吧,那什么是event呢?是hier加上body吧?啊hier加body啊好,那这个怎么的呢?存储在我们的卡夫卡集群括号,我们必须独立安装啊,那也就是说我们这个鲁啊,他想用卡夫卡才,那么就必须独立安装一个卡夫卡集群,那卡夫卡集群我们是不是刚刚安装完呢?哎,刚刚安装完,那我们这个flow它就可以用啊好,那他说这个卡夫卡他怎么的呀?它是一个高可用啊ha为什么是高可用啊,你看它是不是有一个副本的这么一个概念呢?啊,Ha是啥意思啊,哎,它可以。
16:30
点哎支持多个节点嘛,我们是不是有分区的这么一个啊,不是分区,我们是有副本的这么一个概念呢,啊副本啊副本,所以说数据它不会丢啊,非常安全,好了,那接下来我们看一看卡夫卡啊,它怎么用呢?哎,卡夫卡啊卡夫卡菜它怎么用呢。卡夫卡T啊,它可以用这么几个结构啊,那有几个呢?你看有1233个,那一个一个来看呗,第一个with from south and think,意思是结合。
17:08
的S和S来使用啊,那这么样S,然后再来一个卡夫卡channel啊,卡卡,然后我们再来一个S,这是第一个结构,那第二个呢,With from s and什么呀,拦截器啊,我们可以结合一个S。哎,然后呢,我们再加上一个拦截器,在这对数据进行一个加工,然后呢,干嘛呀,再来一个卡夫卡的channel啊,KC卡普卡,But什么呢?No think,诶,很奇怪吧,你看他没有think,没有think,那我们再看看第三个呢,With flu so啊,With flu think but no south啥意思啊,你看这也是我们的卡夫卡。它只有一个think啥意思啊,Think从这读数据吗?啊,那有人往里写吗?没有人往里写了,那这个呢,只是有人往里写,有人往出读吗?没有人往出读了啊,那卡夫卡猜它一共有这么三个架构啊,那这三个架构我们分析一下呗,啊,一个一个来啊首先第一个叫什么呢?结合S和think,那好我们看一下这个图。
18:25
这个呢,是我提前画好的一个的结构啊,你看这个是我们的哈多102这台机器。那这个呢,是我们的哈杜OP103这台机器,好,那前面呢,哎,这是一个south啊,这是一个China,这是一个think,好,这是我们的,我们在卡多102是不是可以部署一个什么呀,是不是可以部署一个卡不卡呀,看103我们也有一个卡法节点,其实还有104啊,也有一个卡法节点,我这呢就不画了,哎就拿它呢来做一个类比,好那接下来我们看的不是它啊,我们要看的是谁呢?我们要看的呀,是卡夫卡才我们看一看卡夫卡channel的这三个结构,它们都有什么不同呢?我先给它复制一份,好放到这,那放到这儿之后我们怎么看呢?啊这样啊。
19:16
那首先我们模拟一个场景,South,你叫tell south啊ta tell s,那China呢,你说卡不卡China,卡不卡China,那我第一个结构是south China和think吗?那think啊,那什么think呢?行,那呃,假设吧,那就是hdfs think好吧,OK,那现在我干嘛呢?你看啊,现在我给它做一个连写,哎,那我现在啊,他要第S,他肯定是要读文件的吧,好了,我这有这么一个文件啊,这有一个文件。然后我把它往这边拉一点,好拉一点,OK,那tell s,它把文件当中的数据给我们读取出来了。
20:09
啊,他有DR啊读文件嘛,好,那这个呢,我给他一个颜色啊,我给他一个颜色用红色好有用,OK,那读完了之后,South是不是把数据发送给菜啊。发送给channel好了,那我们channel用的是什么channel啊,我们channel叫什么channel是不是卡卡channel啊,那卡夫卡channel数据存储在哪啊啊,我们之前是不是也看过了呀,数据啊存储在卡夫卡集群啊,那是这样,那卡夫卡菜呢,这个数据它是存储在卡夫卡集群的,那存储在卡夫卡集群的哪儿啊,是不是要存储在卡夫卡集群的topic当中啊,那假设。哎,我们在这个卡法集群上有一个topic。
21:02
在这在这有一个topic啊topic啊,To a的leader啊,Partan leader吧,Part。Parton啊,Partan leader DR啊,这是我们partisan leader好了,那数据是不是要给他写到哈杜103的这个卡不卡呀,哎,要写到这儿啊。好,写到这啊,给他拿过来,诶,嗯,还行,这个呢,再往下一点好啊,你看现在是ta s多文件发送为卡瓦那卡,它的数据要存储在卡卡啊,那这是S啊,那这个是卡瓦才等啊,数据这么存储的,那接下来我们的think它是不是要读数据啊。
22:01
Think呢,还要读数据。好,这个地方给它拉过来啊。OK。嗯,给它往上一点好,那它读数据,我们呢,给它换一个颜色啊,读数据这你用蓝色好。那读数据的时候,他从哪读啊。Think卡从channel读数据吧,那我们的数据存储在哪了呢?啊,是不是存储在卡夫卡呀,所以说哎,这个数据啊,它要从卡夫卡啊,数据给它读出来啊,从卡夫卡读出来啊,你看这么一个过程。哎,这个呢,写到卡夫卡这个呢,是把数据诶给从卡夫卡读出来啊。啊,证明链路,那最终数据要给它写出去吧,啊,不管是什么性能啊,HDFS性能能写到HDFS啊。
23:05
啊,这么一个过程没有问题吧,那我们再回头看一下卡title啊,然后TDRSHDR结合S和S,它要第S呢,把数据读出来,读出来发送给China,发送给的时候我发现你是一个卡夫卡channel啊,那我数据就要存储在卡不卡呀,所以它会发送到卡不卡的topic,那么这个topic是我们之前啊就配置好的啊,他知道我要往哪个卡不卡里写数据,他呢就直接写进去了,好。OK,那接下来,那你这边写数据,我们的h DFS think,它要把数据读出来呀,啊,那h d FS think呢,它就一直从卡卡才读数去,那读数据的时候啊,我发现你是一个卡夫卡,那既然是卡夫卡,那么。这个卡卡菜呢,它就会从卡夫卡当中把我们要读的这个数据怎么办?哎,再给它读出来啊,发送给think,然后呢,再发送到HDFSOK,那这是第一个结构吧,好,那除了这个结构之外,我们是不是还有一个结构啊,第二个结构。
24:20
第二,结构。往上。第二个结构是什么呢?结合source啊和intercept和拦截器,没有think啊,那把think删掉,那think删掉它就不往出写了呗,那不往出写了,肯定就没有人从卡卡读了啊,那就是这么一个过程了,那这么一个过程我给他整理一下啊,给他整理一下。啊,整理一下。把这个给它往这边移,往这边移,移完之后给它往这边点。好,那完事了,把他也往这边点,OK,你看卡布卡S结合啊,卡布卡in结合一个什么呢?啊,卡卡China啊结合一个S啊S呢读数据发送给卡法,发现你是一个卡,那么数据存储在卡普卡集群,好了,这是第二种,那接下来我们再看看第三种。
25:23
啊,那第三种我再给他复制一份,复制一份往上拿啊往上拿好拿过来之后这个是怎么的呢?哎,第三个叫做结合think没有S,那没有S了把它干掉呗,那没有S了是不是就没有读数句的了呀,那文件就没用了,那文件没用了,这边也没有人往卡夫卡里写了,那只有干嘛的呢?只有从卡夫卡读数据的了吧。哎,你看啊,卡夫卡China结合一个think没有S了,那怎么办呢?那就只有从卡夫卡读数据往出写这么一个过程了,OK,那么这三个呀,就是卡夫卡才的三个架构啊,三个架构,那好了,现在三个架构放这儿了,那我们用哪一个呢?哎,我们是用S结合channel的呢。
26:19
啊,S结合think呢,还是只用S还是只用think呢?那我们分析一下呗,我们的这个链路啊,你看啊,我们先看看我们的总链路是干嘛的。啊,数据设计流程,我们的总链路啊,首先先看用户行为数据采集这块,是不是就是想把文件当中的数据目的是发送到哪呢?发送到我们的哈多集群吧,也就是发送到HDFS,诶那这个是不是刚好符合它呀,这叫什么呢?啊,是不刚好符合这个结合S和think,哎,刚好符合嘛,啊,它有DRS啊发送到不卡啊,卡不卡,它有消峰的功能啊,还有这个消峰解耦的功能,然后HD FS think,那我们分析一下用它行不行呢?表面上看是不是可以啊,但是告诉大家用它不行,为什么呢?因为卡夫卡菜有这么一个参数。
27:18
啊,往下翻叫做。嗯,卡卡,Priceise from什么意思呢?意思是啊,以的方式啊,数据啊,以flu event的格式发送给卡普卡,那flu的event的格式是什么呀?是不是hier啊,Her DR hier加上body吧。啊,在SS的时候,我们封装了这么一个event,好,那以event的格式发送到卡夫卡,那么在卡夫卡这存储的是啥呀?是不是hier加body呀,那首先数据存储是不是存储了有一些hier没有用的信息呀,那这个信息如果说我们没有hi呢,他也没有好,那这个呢,也不是一个重点,那重点是什么呢?好了这个数据。
28:13
你看啊,我们现在是要发送到HDFS的,那发送到HDFS下游呢,其实它可以帮我们把包解析出来,没有问题,那还有一个问题,那如果说我们在这存储是以hier和body的方式来存储了,我们现在这个是什么呢?是离线数藏吗?离线输差,那我们的是,哎存储到存储到哪呢?是存储在这啊,存储在这,哎是存储在卡不卡,是存储在卡不卡,那我们现在是要离线数仓给它读出来,那没问题呀,因为这是一个flu嘛,它拿出来可以把body的数据拿到,那好了,现在有这么一个事,我们还有实时数仓啊,实时数仓我也需要你卡不卡里的数据啊,那我接着从这个topic a往出拿,那我读出来的是什么呀,是不是依然是hier加上包的呀,那对于我们这个实时数上来说,你这个hier有用吗?
29:11
它是不是没有用啊,哎,我们只需要包的吧,所以说这一部分数据。啊,那它就没有用了啊,那这么看表面来看,哎,它呢就不太好啊,他在这呢,会多存储一些数据,那好了,那现在还有这么一个事。那有同学说了,哎,有同学比较聪明啊,那这个参数我可以干嘛呀?我可以给它设置成false啊,Face我可以给它设置成false,那设置成false是什么意思呢?那就是不用from even的方式来存储进卡不卡呗,好,那很好,那假设啊,我们把这个参数给它设置成放上啊,这个参数拿过来。有这么一个参数吗?对这些参数。嗯,如何给它拉大呢?拉这边好,这个参数等于一个false,那等于false了,嗯,Fla好,那它等于放了。
30:12
它最终存储进哪啊?存储进卡布卡里的就只有一个body了。啊,如果说它等于false了,那么就是不以flu的方式来进行传递了,那不以的方式传递,那最终存储进卡不卡的就只有一个包对的数据了,诶这个是不是我们想要的呀,那接下来我不管你是你写入到离线出仓还是我实时出仓需要,我是不是直接就能获取包北的数据啊,这个刚刚好是我们想要的,那同学说,哎,我这个架构它刚好符合呀,但是别忘了。我们的lo是不是还有拦截器呀啊拦截器,那拦截器的内容我们要给它添加到哪啊,哎,拦截器的内容啊,我们需要结合hier来使用,Hier结合hier来使用,所以说不管怎么样,这个hier我们是不能给取消的啊,稍后呢,我们会有这个拦截器的应用啊,而且这个拦截器的应用非常重要啊,那也就是说hi我们是不能取消的,那么现在我们就知道了,把这个参数给它设置成false啊,我直接这么干,它不太合理,它不合理啊,给它设置成false不行,那这个结构我把这个参数给它设置成false,不行,设置成false hier你设置完了,它不生效了,不是不生效了,是没有用了,你存储进来之后hier没了呀,啊,那不行,那这也就是我们不采用这个结构的原因啊,那我们采用什么结构呢?
31:51
啊,看这我们可以采用这个结构啊,哎,你看那这个结构它现在是干嘛呢?读文件通过它要第S读文件,读完之后发送给卡卡菜,那卡卡菜直接把数据存储进卡普卡。
32:06
哎,我在这儿是不是也可以给他存储进卡普卡呀,那存储进卡夫卡之后,我可以怎么办?我是不是依然可以把这个参数给它设置成false。哎,我依然可以把这个参数给它设置成false,那同学说了,那不对呀,你把这个参数给它设置成false了,你在这里不就只有body的数据了吗?啊,只有body没有hi了呀,1DR没有hi了,对,他确实没有hi了,只有body了,但是别忘了,我们数据现在仅仅是到了卡夫卡还没完事吧。那到了卡夫卡,我有往HDFS发送吗?还没有吗?还没有HDS呃,发送啊,那也就是说我们可以在下游再次做一个拦截器的梳理,哎,上游呢,我们只是先给它发送进去,好那好了,接下来我们看这个,那这个地方是干嘛呀,你看。
33:01
卡夫卡它呀,可以把数据干嘛呢,你看可以把数据给我们读出来。啊,从这个卡帕当中读出来,诶,那这个过程它是不是就刚刚好可以把数据给我们读出来啊,啊卡夫卡channel结合think,哎,它是不是就刚刚好可以把这个数据从卡法当中读出来,那也就是说我们上游啊可以用一个卡瓦channel,那下游呢,我们也可以用一个卡瓦柴能啊,那只不过下游我们不用卡瓦柴能,下游我们稍后再说用什么,上游我们先说上游啊,上游用卡瓦柴能来做,那好了,那现在这个逻辑是不是可以把数据给它写入到卡夫卡呀?啊kafka卡夫卡啊没有问题吧,卡不卡,那写到卡不卡了,那好了,那这个情况,哎,你看我这还有一个,那如果说我这么干行不行呢?它是一个。
34:00
T tell source so tell source,那它呢,是一个fair channel或者channel都行,那这个think呢,我给你用一个卡夫卡think sin,卡夫卡think,那它是不是依然可以把数据给我们写到卡不卡呀?啊,它依然可以把数据给我们写到卡夫卡,那这个和上面这个他俩又有什么区别呢?我们看一看。啊,我们看一看啊,我呢把它拿到上边,哎,把它往上拿一点,往这边放好往这边放OK,它俩都能写到卡法,我们看看它俩有什么区别,首先看这个这个读文件啊,这是一个链路啊,写到卡瓦柴两个链路啊,卡瓦菜写到卡普卡。三个数据传输的环节吧,哎,这是三个数据传输的环节,那接下来我们看看这个呢。
35:00
还有第读文件啊,这是一个文件一个环往这边。Tell source读文件一个环节发送给file title啊,两个环节file title发送给卡卡THINK3个环节,卡夫卡think发送给卡夫卡四个环节,那节省一个S在发送的环节上是不是也节省一个数据传输的环节呀?那节省一个数据传输的环节对应的是不是?它相对来说,左边的这个相对来说它的性能是不是就要更高一些啊,OK,那么这个就是我们采用卡夫卡拆楼的一个原因啊,它的性能相对来说要更高一些。OK啊,这也就是我们卡夫卡的应用啊。
我来说两句