00:01
好,然后我们继续啊,这个发送流程的,刚才我们也回复了,还有这个一不发送呢,我们也看了,然后我们来写一下,这里边呢,有什么不带回调的,带回调的,因为写代码我就不对着这个文档来看了,这里面一些点。啊,这是我们之前写的这个代码啊,就是最普通的一个内容,最普通的一个内容,呃,这样等会要做测试,我先起一个消费者吧,因为是生产者的一个测试,对吧?啊生产者的测试,所以呢,起一个消费者B卡夫卡叫。可我对吧,刚刚连的我还是连开可以吧,冒号。尴尬后被个我还用还用说。
01:05
好,这个东西放在这儿啊,放在这儿。那接下来这。我们来写代码,呃,之前呢,这个地方我们其实在这看到,除了这个API之外来在这。它还有一个重载的方法。叫回调对吧,啊回调OK,那我们写一个带回调函数的什么。生产者啊,在回调函数的一个生产者。我们叫。可以吧?啊,那这个既然是一个生产者,前面一样嘛,啊PSVM因为隔了一天了,就是这个代码写一写,如果同一天讲,我可能直接从那粘过来,然后就改一改了,首先还记得怎么写吗?最后这个时候呢,写代码的时候,呃,还这样。
02:06
这次呢,还是代表跟之前一样,是不是还是同样的,我们应该创建一个什么深人者,然后去跟那个卡法进行进行对接啊,对吧?好,那我们只能去new一个什么卡夫卡的一个producer,这里边呢是一个泛型,所以呢,KV的分型我们都用three ctrl加V得到这个什么producer,这个里边它是不是要配置参数啊,对吧,那我们先去,也就是第一步先去干什么。创建配置信息对吧?啊配置信息啊配置信息,呃,如果说在那个具体的写项目的时候,假如说用到这个内容,那我可能就直接从这写了。就按照顺序了,不是因为讲课的时候,如果说我直接上来先写一个配置信息,这个可能他不太理解为什么创建配置信息,对吧,是不是他要啊啊,他搁到方法里面要,但是写项目的时候,这个时候不是练API了,大家自己写API的时候也是这样写啊,也是这样写,因为这样你记得更更熟一点,因为你记住核心的这个点就行了。
03:01
关于这个配置信息,因为你看到这个地方报错,你是不是想起来他一定要有个配置信息,对吧?啊,那另外一个。Problems对吧?是这个叫优秀报销的,Hello,嘉宾好,Problems里边要什么东西啊?房子房子那个地址。点不,首先最重要的就是我们所说的你跟卡瓦进行打交道,其实其他的那些东西,你把那个什么反序列序列化那个东西一下就行,其他那中间那东西什AC啊,还有那些东西都有什么溶为值啊,所以呢,你可以不写那但是这个东西必须要写。就是produce a conflict点什么?叫点com对吧,啊这个地方呢,我们写一个102冒号。Would stop so是什么?9092对吧?啊,9092这个内容啊,9092这个东西你要写一下,那接下来还有两个东西点。
04:00
叫序列化,点k so class对吧,逗号我先放在这,假如说是一个全类名对吧,啊点。不。点歪六的系列话了,歪的系话。这个东西我们就拿一下了,因为这个长的字符串是没必要记了吧。全类名,你说你去记一下有必要吗?啊对,去查一下也可以这样啊,就是你可以这样,就是你可以记这个内容吗?然后你到这来搜一下。你要找一下,注意是卡不卡报一下的对吧,进来,然后在这干什么。Copy对吧,啊copy到这来。看到没这个可以吧,啊,就是说这个东西没必要记啊,这个东西是没必要记的,哎,都是密嘛,所以两个东西一样的,其他的是不是就可以不写,你看一下其他的还有什么。重试次数这个东西都用的默认值啊,之前用的都是默认值啊,用的都是默认值,所以呢,咱们都可以干什么啊,不写啊都可以不写,是这个意思,好,那接下来把这个给它。
05:11
扔到这个里边来,第二步啊叫创建什么。生产者对象对吧?啊,生产者对象是这意思啊,生产对象OK,那接下来第三步。发送出去了吧,啊发送。数据还是用一个吧。还有个负Y啊,An到十啊,还有十条,十条里面呢是我们所看到的produce点。Send现在用这个吧,啊send第一个呢,CTRB看一下它还是要一个producer with对吧,那另一个什么。Producer recorder。那我们还是简单一点,就让它允许吧,对吧,啊topic啊主题刚才我们写的是不是启动的是first吧啊first逗号,然后呢,这里边还是艾微博。
06:07
嗯。双引号。爱的硅谷。然后什么?杠啊,加上我们要的这个I可以吧,它个5A,好,那接下来这里边它是B。哎,CTRLK,它是要一个call back的一个对象,那跟这个一样,你不是要一个record对象,那我就创建一个record对吧,那你要一个call back对象,那我就给给你干什么,另一个call bag,诶发现它是一个什么。它是一个接口是吧?啊接口我们是不是也可以用匿名的一个实现类。匿名实现内的匿名对象,现在我直接用接口,是不是匿名实现内的匿名对象。对吧?啊,那如果说它里边有十几个方法重写,你就不要这样做了,那肯定是要用它的什么。时类啊,肯定要用它实现类啊,不可能说所有的方法真的让你自己去写啊,自己去写,那这个地方我看一下它其实就是什么。
07:07
就一个方法啊,就一个方法,大家看一下这一个方法看什么事啊。On。完成的,完成之后呢,它返回一个数据,数据这是回调,它肯定是发送之后才会掉了吧,啊就回调OK,那一个叫me data,叫record me data。这一行数据的原数据信息,还有一个叫异常。还有一个叫异常,那说明它返回过来有两种情况。一个成功,一个失败,成功了,给你返回的是。失败了,给你返回的是异常。那我们这样如果。Exception等等于no是不是说明成功的对吧?那我们打印一下me里面的内容可以吧?啊,那我们看一下有什么东西点。
08:06
对吧,还有什么时间戳对吧,还有序列化的类的这个K的大小,然后序列化之后的value的一个大小,对吧?啊等等这些东西呢,都给你返回了,那这个是不是写成功之后。它的一个内容啊,对吧,那这样我们就简单点啊,呃,主题我们需要打印吗。不要因为我们确定了是不是往发的,那你返回的肯定还是吧,啊主力不打印了,那我们打印谁呢?分区和off可以吧,啊分区和off打印这两个东西分区。点sod。啊,然后再加上一个钢杠板。啊,加上一个刚刚,然后再加一个我们要的这个什么,没点off可以吧,啊,因为主题其实你可以打印一下,你可以不打印,因为主题打印的话,它肯定还是什么,那只能是first呀,对吧,它还能变成其他的嘛,啊对吧?啊这个东西做一个打印都在打印啊这块灰的我们当时看到了这个,因为前面定义了整个的一个泛型,因为你是一个匿名对象,对吧?啊你们下直接六的,因为你生产者都是什么。
09:12
String,哎,这块也会标,生产者都是string的,这块可以给它省掉啊,可以省掉它自己的推好接下来还有一个地方,这个地方你发现它也会的。可以用那个,对这个地方可以用表达式,也就是说你看他这个接口。这块你写在这里边的第二个对象,只能是它的一个时间内,对吧?啊,只能是它的时间内可以用这个什么,你看它这个地方给你一个提示,你放在上面。他当前这个new的这个可以用什么,那么表达式去做一个replace替代,对吧?啊做个替代,那这个替代,那有同学说这个number不表达式怎么写呢?我也不知道对吧,不用这个ID呢,不用你写在这上面,Out在回车来看一下啊大看不懂了,这个没没事看得懂啊。
10:10
回车就这对吧,啊,那么表是现在有同学对这个东西感兴趣啊,呃,不用感兴趣,因为你们后面学的SKY里边全是这种东西。全是这种,就是你会发现最后你写的代码里边这样的。还有这样的,还有这样的,还有这样的,还有这样的,这冒号不是感叹号冒号,冒号是一个。冒号冒号也是冒号,冒号冒号还是啊,全是符号,全是符号啊,特别多特别的这个内容。是这个意思啊,就是说后面呢,你学完之后,一定要把那里面的符号去总结一下啊,去总结一下,当然它里面也有什么加等啊,这些东西也有。
11:08
啊,也有什么加等啊这些东西啊,还有就是在SKY当中啊,我们现在你们可以一个数字加一个数字吗。对吧,哎,它可以。这个加法哦,之前你写的不是这样的吗?一加一对吧,在那个里面呢,你可以写成一点加括号。一。这加号是一个方法啊,因为他是就是万物皆对象在那个里面,就是那对象面真正的那个地方面向对象变程,因为数字呢也是一个对象,因为我对象就可以调方法对吧,可以调加这个方法,加这个方法呢,它可以被复写。还可以复写啊,可以复写加这个方法,对,可以复写加这个方法啊,就是你你自己定一个方法名字叫加,然后拿复写啊也可以就是这个里边就是那个盖就比较灵活,当然其实看着好像很舒服,对吧。
12:03
自己写的时候就挺难受的啊,挺难受的啊,最后我们还要记得去关闭什么。对呀。Produce点错我们就不打印了,因为我们这个测试的时效数据都还犯错,嗯,应该不会啊,正常的,有同学可能在想这边加一个else对吧,那这个exception点什么print打印一下信息可以吧?啊,假如说他做了有错误信息,我们就打印一下。可以吧,啊,就做这个事,那就加一个吧,正常的,他不不会走到这就走到这。好,那我们呢,呃,运行一下啊,看一下这个数据效果点。来看是不是11 11这个地方也有什么。
13:02
51这个地方也有11吧,21,哎,这样我们应该少打一个东西,我想把这个。呃,来在这,嗯,这不好,这不好,这是回调,回调里边啊,它用不到,用不到那个在那不行,嗯对先把打出来是这个意思这样。有办法啊,Me达data原数据点。我看一下啊,To string,原数就整个的一个to拿它的一个。的序列化啊,这个元数据信息这个不行。呃,直接吐病。都市里面是东西太多了。读,他就把那些东西都打印出来了。拿不了他这个地方拿不了那个值啊。拿不了那个纸。就是想拿一下那个发送过去的数据的值,因为它是批量发送的,其实这个顺序呢,你能看出来跟我们那个数据不一样,就是你发送的数据不一样,因为你看它是一号分区全部的什么。
14:02
一个批次发送的零号分均,一个批次发送的,刚才我们说了,它虽然是轮巡,但第一个发发到哪不一定吧,到底是零号分均还是一号分均,这个不知道啊,就是一,如果是确定了1010100这样,或者0000啊,这第一个也不知道在哪啊,所以呢,它这个访问结果是这样的,然后同时我们看到一些点呢,就是说这个。是不是同步增加的,不是说全局维护一个了,对吧?啊不是全局维护一个,而是说呢,区内是什么。有序的,哎,你如果这样写进去的,那接下来你一定是按照这个什么读出来的啊,区内有序,全局不一定有序啊,全局不一定有序,好,那正好这边有回量函数,我们可以测试这个内容,那这里边的就是我们一直写的是零啊一个东西就是说什么呢?卡普卡在保存这个数据的时候,我们写的是是零,从零开始保存的那个赛的。对,它到底是不是零呢,我们可以看一下对吧,怎么看。
15:02
这样我们新创建一个什么。主题,新的主题没有数据,那我们只要看看第一条返回值,这个是零还是一,我们就知道它到底从哪个开始的,是啥。能不能理解这个事对吧,那我们来创建一个B。卡不卡,诶不是康是斯点点对吧,啊刚刚。Topic啊,这个里面呢,再来一个。来一个主题,来一个主题叫AA吧,啊,随便简单一点啊,刚刚那个part。是,呃,三个分去吧,刚刚。Radicating。对吧。两个副本,两个副本。哎,少写了一个什么OK吧,对吧,啊连的机群没写。冒号二幺走。
16:04
好,接下来呢,我们往那个什么。AA里边发送啊,消费消费者开一个吧,看看,反正这边有对吧。直接把这个first改成什么A就行了,对吧,一启动。再走一下。从什么开始的?已经开始了,而且按照轮询的策略,第一个发送过去的数据应该不会吧?十个嘛,十除以三,那就4433嘛,对吧,轮询的话,那你看轮询的话是不是第一个最最多啊,对吧?啊第一个多一个啊02302啊零二从零开始的吧,啊也就是说这里边保存的奥赛从零开始的啊,这个呢就证明一下这个事,因为我们之前一直说的是从零,大家也都知道是从零,但是呢,大家看一下这个是不是直接能看到他确确实实是从零啊啊其实包括官方文档都给了啊,是从零开始的啊这意思。
我来说两句