00:00
好,接下来呢,我们详细的介绍一下卡夫卡传的工作原理,以及它对应的一个架构,那我们来打开它对应的官方原理图哈。打开打开之后呢,看一下这块。说the KA can be used,也就说可以有多种类型的架构,那它有哪些架构呢?比如说with flu source and think,就说它可以有对应的south和think,那我们画一下图。比如说它可以有自己的source,也可以有自己的,那当然有自己的合法channel,那如果是这样的一个架构,它跟我们之前的memory channel和对应的fair channel是就类似一样了啊,尤其跟那个fair channel。知道吗?因为他数据是存储在卡卡里面吗。哎,那麦它是基于直接基于磁盘啊,而且fair channel它也有自己的think,那你卡巴channel也有自己的think,那从传输路径的角度来说,是不是就差不多少了。
01:02
哎,那他这个是怎么工作的呢?它底层。如果你这次有一个卡不卡。那你有个卡卡,它数据是这样的,先写到这儿,然后将这个数据啊,类似于写到卡卡的topic里面。特别多。然后数据你再往下一级传的时候,还得读回来,读回来之后写入到这个think,然后再写入到其他的,哎,目的地是这样一套流程,那你会发现这个数据啊,是不是跨节点通讯呢。画节点。通讯,那这样是不是效率要低一些,那莫不如我直接把这个数据是不是直接就持久化到磁盘里面,相对来说性能上是不是更好一些啊,所以说这种架构呢啊,一般情况下呢,我们不选择,那接下来我们再来看下一个架构。它下一个架构呢,说with from source and intercept,还说有source,有拦截器,But no,那这种架构呢,它是没有think,那是不是跟我们这个项目当中遇到类似啊,比如说它是这样的一个架构了。
02:10
对应的有south,有China,然后下一集仍然是考考。然后数据呢,从这走到这儿,然后直接进入到卡法当中,相当于啊,哎,进入到类似于比如说。他里面去。你看这样呢,传输距离当中就省去了这个性能阶段,相对来说啊,性能上要好一些。哎,所以说本次项目当中呢,我们就选择的是这种架构,那接下来大家再思考一下,哎,看一下这块。说with flu think but no south,比如说下一种架构呢,是有think,但是没有south,那它这个怎么玩的呢?看一下,那大家看一下啊,我们这个出仓架构当中,它后一集来消费卡卡数据的时候,是不是仍然用的也是。
03:04
你前边这个是。上传到卡普卡,那么这个要想从这个卡卡里面去消费出去。那怎么消费,正常是我要配置source,配置China,配置think,但是你看他现在说我只来一个China,然后再来一个think就可以。这是卡瓦片。这样。那你说我直接从你这个卡卡这个topic里面去取数,写完数之后通过think写出去。这种方式。那相当于这个不就是卡的这个他不是消费者吗?你这个相当于是夫卡的数据的一个生产者吗?这样就OK了。那这个时候有些同学就开始脑洞大开了啊,他开始这样就想了,说海哥,那能不能这样,我这是S。我这个呢,是。然后think呢,我直接写一个a think。
04:03
这样一个加构,那你看这样行不行,你相当于啊,数据是写到这,然后呢。这么玩,我给你放一个卡卡。知道吧,哎,卡卡,那你数据首先写到这里面去。写到这,写到这之后,然后接下来我又读回来,因为是相当于这个卡不卡看懂吗?哎,读回来,读回来之后,我再写入到自己的a think,然后往对应的as里面写。我一个辅助全搞定。那你看这样的性能好不好呢?那你看一下这里面经过几次的跨节点通讯。经过两次。画节点。通讯知道吧,哎,一个呢是往这个top里面去写,另一个呢是消费top数据,然后再往A盘上写,这里面经过两次,但你看我上面这个架构呢。
05:03
上面这个架构,这个弗鲁姆是不是经过一次。那我这块是不是也是对应的一次。那相对来说每一个呢,只跨节点通讯了一次,那总比你一个跨节点通讯两次,相对来说啊,性能要好一些。哎,所以说正常情况下呢,我们应该优先选择上面这层架构。啊,建种架构,哎,我们前面这个采集这个flu就是用的这个south加上卡,那后面这个呢,按理说我们也应该用上这个卡,加上这个ay think来完成对应的功能,但是呢,我们项目当中啊,并没有这么玩啊,为什么呢?哎,原因啊,因为我们前面已经讲过一个卡法全通了,那我们从学习的角度来说,我们希望呢,能尽可能多的覆盖到。比如说我们这里边希望覆盖到的,比如说是file channel,那在生产环境当中又应该怎么配置呢?哎,所以说我们给大家这块呢,用的是file channel啊,那如果是真正的开发,你完全可以把它换成合法传能啊,那这里面呢,就给大家介绍到这儿。
我来说两句