00:00
好,那接下来呢,就正常的到我们的,我要对接前面的Mo模块了,Mo模块呢,发起请求,我们这边去拦截请求做处理,那我们就看一下他的一个请求啊,请求在这个地方。我们的请求地址呢,是它对吧,也就是说叫log啊,那我们要在这个地方写一个at request maybe,这个地方呢,是一个。Log把它拦截到,然后呢,Public我们写方法。返回数据对吧,我们还是返回这个success,然后这个呢,我们随便取个名字叫get log。好。对吧,那我们的日志信息呢,也是通过参数传进来的啊,也是通过参数传进来的,那我们可以把这个东西呢,拿一个过来。但是这个参数叫什么名字呢?我们可以在这个地方给大家看一下啊。审核数据。参数的名字叫就是未来我们在代码当中把这个拼接到了这个地址后面,啊,所以呢,这个地方我们加一个perter。
01:04
这个地方呢,是杰森数据S加。是我们的阶算数据,OK吧,是这个内容,好,那接下来呢,我们要做一个事情,首先我们测试这个数据流成不成功,所以呢,我们打印数据,直接打印数据,我们先简单的测试数据流,呃,Sotco对吧,然后呢,我们接算SCR之后呢,我们可以返回。报告这个成功,报告成功,那这个就搞定对吧,方法就写好了,但是接下来呢,我们还要写的是将。数据。落盘,以及第三个将数据写入。卡夫卡啊,我们要写到卡卡里啊,先这两步呢,我们先不做,先得把数据流测通了,对吧?好,我们运行。运营起来了,我们服务端已经开起来了,接下来我们就要开这个Mo,但是开Mo之前大家一定要注意一下,我们把这个地址要改一下,还能访问logo host,注意我们那个梦模块,我是不是在。
02:11
LIS上启动的呀,在哈102吧,如果用的log hostt,它是不是访问哈威102的8080,那个不还是跟刚才一样的,对吧,我们现在是不是应该访问Windows上这个8080啊,所以呢,我们要拿到Windows的IP地址啊。那就是IP。啊,我们就找一下我的IP地址,呃,那找这个以太网IPV4啊,我是192.168.14.22啊,14.22行,那这边呢,我们写一下192.1。嗯,幺九二点幺六八点幺四点。而注意这个地方一定要改一下Windows地址,要不然你测试不可能成功的,对吧,好,那这边呢,我们保存退出,接下来我们重新启动一下我们的项目Java杠,这对吧,然后呢叫追梦molo走。
03:11
好,你看这边是不是接收到返回值叫success啊,同时呢,这边数据在打印嘛,啊数据打印嘛,对吧,这个一直在滚动啊,说明我们的数据流就没有问题。啊,说明咱们的数据流没有问题,数据流通了才能接下来做,我们写入日志,写到卡夫卡。OK啊,这是我们简单的测了一个数据流,那接下来呢,我们补充这个代码,将数据进行一个落盘,那呃,问大家一下,这个数据落盘我们应该怎么做呢?我们应该怎么将这个数据落盘呢?就正常的,像have呀,卡夫卡呀啊这些框架,它是不是都有日志写到文件里边了。
04:00
优秀。U是什么意思?自己要写一个工具类,用IO流写出去吗?符总,你是这个意思吗?自己写一个工具类,然后用IO流往文件当中去写吗?这个地方咱们可以用日志打印的方式啊,用打印日志的方式,就之前我们看到在日志当中呢,有这个什么in for arrow debug,什么morning,对吧,Warm啊等等这些形式,也就是说我们可以用日志打印的方式,给它写到这个磁盘里边啊,给它写到磁盘里边,那首先第一步在我们这个地方啊,因为接下来对接这个卡夫卡嘛,我们就直接到这儿来啊,对接卡夫卡对吧?呃,首先呢,把这个端口号改一下,改成8081,因为如果是8080,最终打包到集群也没法用。
05:00
8080端口已经被卡夫卡用了,未来我们要将数据写在卡夫卡里边的,也就是zoo k跟我们这个log。这个架包是要同时去起的啊,所以呢端口号先改一下8081啊,然后呢要配置卡夫卡地址,接下来我们要还将数据除了落牌还要写到开发,所以第一步呢,我先把这个拿回来。放到我们的。Application点里边,我把这个呢。干掉。对吧,把它拿进来这就好了,然后呢,这是我们的卡发地址,卡夫卡生产者要有一个序列化。啊,序列化的内容对吧?呃,那这个第一个搞定,那再来第二步,我们要通过落盘的方式去做,对吧,所以呢,这个代码我们等会再说,呃,我们先把这个log log bag里叉L给他拿过来。因为我们要日志打印的方式在我们的resource目录底下。添加一个文件叫log文件,然后呢把它拿过来,这里边就配置了,我们如何去打印,打印做数据啊,还是什么数据的啊,内容跟大家之前见到劳缩界很像。
06:07
当然我们用的是log back对吧?呃,那这个里边呢,就是说log定义了一个变量之后呢,我们数据是输出到这个里边叫app.log。啊,但是我们要在本地做测试,所以呢,这个地方我可以稍微的改个名字,我看一下我这个盘符啊,呃,那我就给它写到一盘呗。啊,本地测试的E盘一般我直接放到log克斯里边吧,我也就不用那个什么OT Mo了啊,不用这个来源了,我直接放到log克斯那也就是说在等会在E盘当中我们可以看到生成一个log斯,注意我现在没有啊,现在并没有,大家看一下我并没有log斯目录啊,等会儿呢,看它能不能够自己去生成,并且在目录底下有一个文件叫app.log。对吧,然后同时呢,我们还加了一个concert打印到控制台的,打印到控制台呢,摆放message消息啊,然后呢,摆放N就是换行,那这边也一样,我们只要数据,然后之后这一块是引用。
07:07
上面相当于定义了两个打印日的方式,一个是控制台,一个是文件,叫roll file滚动文件的方式,对吧?那下面呢,我们是要引用啊,将这两个都用上才可以,如果说我把这个注释掉,那么这个日志不会打印到控制台,只会写到文件,那或者说我把它注释掉,那只会打印到控制答案,不会写到文件上面相当于变量的声明,下面是引用,那还有一个东西就是它。注意这个地方。一定要用你自己的这个权利名。因为我们在这个地方指定了。指导只打印这个类里边的数据啊,那在文档当中呢,像这种标红的你都要注意一下啊,你要注意一下是有可能你要做修改的地方啊,因为有可能有的同学不叫company爱硅谷,有的同学呢,用自己的名字命名的,不用爱硅谷对吧,用自己的名字,那你这个一定要注意一下,别直接粘过去,就粘过去之后你要看一下这个地方文档当中给你标红的这些,如果说这个东西要改,一定要注意一下啊,就标红的要注意,有可能你们自己在操作的时候是要修改的。
08:18
啊好,那这个就搞定了,我们要把这个目录改了,然后呢,这个地方也已经改了,对吧,我就可以做这个打印到。磁盘这个log bag,也就是说怎么打印的方式已经写好了,那么这个里边我们应该怎么写呢?对吧,要有一个log对象啊,要有一个log对象,那这个log对象呢,咱们可以直接用那个。注意,是用book包下的。啊,Long book包下的,那我们引入这个注解之后,我们这个里面就自动引入了一个log对象叫log,它呢是属于这个。Log的对象对吧?拿着这个log呢,我们点看以前我们生成的数据有各种各样的级别对吧?日志,Info warning error等等这些,那如果说我们用in for方法打印,然后你把这个数据写进去,那它就是in for数据啊,那还有locker点,那还有呢,Warning对吧?警告如果说呢,你把这个。
09:20
阶层写进去,那它就作为警告日志的,它就是一个警告日志,那同理大家所熟悉的是不是还有一个errorrow呀,Error对吧,那这个数据呢,就是error。啊,那就是A,同理还有另外的,还有级别更低的叫log.debug。那这个是属于第bug啊,那还有一个更高的,更严重的一个错误叫。T致命的对吧,比A呢还要更高一些啊,那这个就是说我们以前在。日志当中看到日对的前面带了什么info啊,VO啊,Error,都是跟这个方法有关系,你当年这个日志到底是什么样子的,你调用什么对应的什么方法就好了。
10:04
啊,调用这个方法就好了,那我们这边呢,因为我们前面配了啊,这个地方我们打印的是in for数据级别,对吧,我们只要in for数据啊,所以在这个位置呢,我只要for就够了,其他的呢,先注释掉这个一行代码。加上我们的log back。配置信息就决定了我们文件写到哪。啊,就将来这个日志打印到哪的一个问题,对吧,这是第二个,那既然我们log back当中配了这个con,也就是说这个数据会打印到控制台,所以呢,我这个就注意掉了啊等会我们可以看控制台有没有,对吧?这个可以注释掉就不要了,因为在我们的日志框架当中,我也写了打印的控制台,那么第三个就是卡夫卡,写到卡夫卡,那卡夫卡的话,咱们是不是得有一个。卡不卡的生产者呀?对不对,咱们是不是应该有一个卡夫卡的生产者,然后往卡夫卡去发送数据。
11:02
没问题吧,所以呢,我们得搞一个卡法生产者,但是我们之前看到在这个里边呢,可以直接写。卡不卡的配置信息,所以这个卡法对象呢,不需要我们自己去构建,我直接在这边加一个。Private它呢,在这个里边,卡法对象呢叫卡法time k类型呢,我都用string类型叫卡法一个time,然后给它加一个out to well,让它自动注入。让他自己帮我们去构建这个对象啊,那这边呢,有一个错误信息啊,报错了,但实际上这个报错呢,它不影响我们代码的运行。啊,他是ID要给我们报的一个错误,什么说什么东西呢,他说不能够自动注入,因为没有找到它的一个。并对象啊,那是因为它本身就是一个。普通的一个类了,不是接口,也不是抽象类,所以呢,它没有实现类啊,它就告诉我们找不到这个对象,那这个并不影响运行,如果说但是呢,我们在代码当中看到一个错误还是不爽,对吧,我们可以调整,这是I ideal报错的一个问题啊,I idea要去校验的时候,他找不到他这个病对象,但实际上它本身就可以作为一个招聘来使用啊,那如果说你觉得这个不爽可以啊,可以改,怎么呢?在我们的setting当中,注意点到setting setting里边呢,你在这搜搜校验。
12:27
叫inspection。稍等有一点点卡,这个是我我这个卡了啊,跟你们没关系,Inspection哎,交易在这啊当中点开,点开好以后呢,我们来看一下,这里边有我们找到这个spring相关的。Spring啊,那这里面呢,有一个spring。啊,不是spring,嗯,看一下啊,这个有个spring。嗯,不是在这儿,哎,有一个核心包。
13:00
你找一下。靠啊,Code在这在spring call核心包当中有一个那个code编码,编码当中呢,就有一个叫关于病。扎va病的一个自动注入的一个问题,他默认报的是这个iol对吧,那如果你觉得这个不爽,你可以改成模,或者说让他不报也可以对吧,假如说我们只是报一个警告啊,让他报一个警告对吧?好,那这样的话,哎,他没了,他只是作为一个警告了。而不是一个错误了,这是ID一个报错级别可以调的啊,可以调的,如果你觉得不爽,可以把这个改了,但是我注意啊,你不改这个东西。你不改它也可以不影响代码的运行啊,完全不影响啊,这个要注意一下,好,那接下来呢,我们就把数据要写在考法当中,我把它写一下,就拿着我们这个对象调用send方法,调用send方法,然后你看这个东西熟悉吗?看到这块所传的参数,有没有觉得很熟悉?
14:11
熟不熟悉?没有人反应。DNA动了是吗?对,卡巴尔的producer调用的那个send方法吧,是不是,那这个上午啊,不是不是上午下午吧,我们第一节课的时候还稍微。复习了一下对不对,那在这个当中呢,看啊,首先我们是不是可以指定分区。啊,指定分区,那是不是发往指定分区。好,那还可以呢,不指定分区的时候,我们指定一个K。那根据K的哈希值来发往到指定分区吧,那还有一个。什么都不指。什么都不指定轮询,然后呢。
15:01
粘性对吧,啊,就是这个最后一个是这样子的啊,那这个地方呢,我们这个数据。需要指定K或者说分区吗?指定分区吗?不需要吧,我直接写第一个,调用第一个方法是不是就够了,对吧?所以第一个呢,它有一个主题,这个主题呢,我们叫ods,叫base log主题,然后接下来呢,数据本身那就是杰森str。啊,这是我们的数据value对吧,Data,然后呢,这是主题,那这一块呢,就。搞定,我们的编码就完成了。对吧,就可以通过这种方式将数据最终呢,写到我们的卡夫卡里边啊,写到卡发里边是这个意思好。这个是将数据写到卡夫卡落盘及写带卡法这个编码,然后接下来我们做测试。
我来说两句