00:00
好,接下来呢,我们再来看一下我们整个项目啊,已经进行到什么位置。呃,三节课呢,我们是把这个采集,哎这块的一个启动停止脚本就完了,那支持啊,整个这个地图当中,日志生成采集卡夫卡以及主kper是不是都已经OK了,那接下来我们要做的谁?哎,接下来要处理的就是这个消费卡夫卡的这个flu。来来配置它,那好,那以后啊,要形成这种条件反射,比如说我用到flu,那我首先想到的就是flu的south China in think,我到底应该怎么来选择,是这样吧,哎,比如说哈。South China think。那之前咱们在分析第级采集flu的时候分析过,也说这块我们可以采用的是卡不卡China,诶,然后配上这个h d FS think是不是就可以啊,也就说可以省去掉这个卡S。是没有任何问题的,哎,在企业真正开发的时候呢,也可以这样去用,那效率呢是比较高的,但是咱们从这个学习的角度,因为啊,有一些同学这个公司他会用到比如说fire。
01:08
那这个file channel呢,咱们在之前讲这个基础的时候啊,讲的比较少,那咱们呢,希望呢,在项目当中也用一下对应的这个file channel,哎,扩展一下大家这个知识面。啊,所以说这里面呢,选择的是啊fair channel好吧,哎,行,那下面来看一下,哎,这几种channel对应的一个区别,之前咱们对比过这个file channel和ma channel,那么稍微回忆一下fair channel什么特点。它数据是存储在磁盘当中。知道吗?海磁盘那么可靠性高。效率呢,相对来说要低一些,也就效率低,可靠性高,那好,那另一个memory channel memory channel它对应的特点。它的这个可靠性哎是比较低的,那这个效率呢是比较高的,数据呢是存储在内存当中这样一个情况。那如果在企业当中没有这个KA channel,那我们会选择哪一个呢?会选择fair channel还是channel呢?
02:03
那记住如果说呀,是这种金融的,或者说跟钱相关的这种数据,那么通常情况下呢,都会选择fair才能保证数据的可靠性。那反过来,如果我们的项目当中啊,传输的这种普通的日志。那我们通常情况下呢,就会选择这个memory啊,因为我们追求的是效率之上,哎,丢几条日志其实对我们影响不是特别大啊,好。那这是这块,那下面呢,我们来详细叙述一下这个file channel哈,那这个file channel啊,它底层原理是什么样的。那我们首先需要了解一下,就说他怎么把数据存储在磁盘当中的。看下面这个PT。首先呢,这是file用于存储数据用的一个磁盘,好,那接下来。接下来啊,这个上游传过来的数据就会存储在对应的磁盘当中。知道吧,那大家思考问题啊,那你数据完全存储在磁盘当中,那后续来查看这个数据的时候,是不是相对来说检索的要慢一些。
03:08
那我要想提高这个查询的这个效率,我们以往的做法是怎么做的呢?是通常情况下,我对这个数据啊,我创建一个索引。那我后续查询的时候是不是就快了。哎,那比如说这里面呢,这个发传导就是通过内存来对这个数据创建索引。他怎么创建的呢?哎,它这里面对这个数据啊,记录每一个数据对应的开始位置和结束位置,哎记不下来,你来读数据的时候,哎,从我这里面先检索一下,相当于是字典前面那个目录。知道吗?好,那再往后。那后面呢,在其他的数据二数据三啊,也都是同样道理,把数据呢都建好,所以。那下问题又来了,那海哥你这个是创建所以了,你这是在内存当中啊,万一这个内存挂掉了。那你这里的数据是不是就又不好找了?
04:01
那怎么办呢?哎,这个发传头也想到了,他怎么办?哎,他可以把内存当中这个索引,我再进行一个备份。我把索引数据备份到磁盘当中,因为毕竟这个索引的数据啊,相对来说要少很多很多啊,备份起来呢也比较快,这样呢就保证了它相应的一个可靠性啊备份好。有同学说了,海哥你这个也不保险呢,你这块磁盘万一坏了,你这个内存就不能从这儿再恢复这个数据了。那呢,还是没有保障。那他也想到了,如果说你对这块这个数据啊的可靠性追求的特别高,你还可以再配置一个,所以也是基于磁盘当中,比如说在磁盘当中啊,我备份两份索引数据。那这样呢,就能够提高它对应的可靠性。哎,这呢就是file channel底层对应的原理,那后期我们在配置这个file channel相关的一些属性参数的时候,其实就会用到这里面相关的一些内容,比如说这个谁是存储索引呢?谁是备份索引啊,还是还有一个再备份索引。
05:08
是吧,哎,那这样呢,我们后续呢,在配置的时候再来详细的看一下这张图好吧,哎,这是file channel底层的一个工作原理。那在这个发的话,这官方有一句话啊,有一句什么话呢?呃说啊这里面你在配置这个啊存储路径的时候,如果能够配置多路径,哎,比如说这个multi directory,那么呢,就能够提高你这个file channel,它对应的吞吐量。啥意思呢?就是能配置多目录的时候,我们尽量配置多目录,那记住这个file China啊,存储数据你看。它是这个基于磁盘来存储的,对吧。那这里面他所说的多目录是多磁盘的意思,比如说这是硬盘一,硬盘二,硬盘三,硬盘四。那这样你存储数据可以这存储一份,这存储一份,哎,这样去存,让它呢,多配置几个目录,那相对来说存储量啊就会高一些啊,它是这个含义哈。
06:03
好,那下面呢,我们这个think这块,我们就直接采用这个a think,因为啊,我们这个flu的下一级是不是就是ADS啊,所以说我们用a think就能满足对应的要求,那其实这个a DS think呢,呃,默认的情况下会产生大量的小文件,那后续呢,我们会详细的给大家去说明一下ADPS小文件并的问题啊,专门来给大家讲哈,好。那这个呢,就是我们技术架构的选型啊,为什么要选择这个fair,就是为了呃,让大家的知识面啊覆盖的更广一些。
我来说两句