00:00
好,那第二个我们看一下刚才我们提到的它这个发送数据啊,这发送方法它是不是有两个。发送的方法,还有一个什么call back对吧,对吧,带回调函数的,那我们看一下这个带回调函数的,那就在这。它是扩的又一个什么。Call bag它是一个接口,接口可不可以直接用啊,可以吧,就是你再把它这个实现方法在这写写出来就行了吧,因为这个Co办法它只有一个方法需要实现,所以呢,我们就不用写一个类去实现它了,实现它了OK,他就要,也就是说你每次发送引条数据之后啊,它都会回调这个方法。完成,然后这样呢。一个什么。就是说这个是什么,这条数据的一个原数据信息是不是,那我们可以看一下,等会里面有什么,还有什么。
01:02
来个异常,那我们就知道其实回调的时候,为什么有时候有异常呢。如果没发动成功,它是不是有失败的一个异常啊,哎,所以说呢,我们要想打印的话,是不是如果判断这个exception如果等等于none的话,或者说它不等于none的话。我们才能。等会对这个except写错了,Except怎么会写错?如果等等于not的话,我们就直接。就说发送失败可以吧。发送失败。啊,等等于闹是发送成功的是吧,那等等于闹闹,那我就else里边。否则的话就发送失败对吧,哎,不等于那的时候,那等那等等于那的时候就发送成功了,对吧?发送成功了之后,你想想看这个里面是不是应该有信息啊,哎,这个里面有信息,所以说我们要把这个信息打印一下吧,哎,那我们看一下它有什么东西,Meta data塔点。
02:16
哎,来看一下partition。这有吧,哎,就是说它在哪个topical在哪个里边,那topic我们知道我们指定的肯定是first吧,所以我们看一下什么呢?它这个partition和opposite可不可以啊。点。SOSOOK,这个是它的一个part,然后我们再拼接一个什么。凭借一个它的一个offet.offet可以看一下,也就是说它在发送成功之后啊,它会将这个什么。所有的一个数据,哎,给他传返回过来啊,返回过来你可以相应的对它做一个处理啊,都在这吧,都在这OK,那你看啊,在adl当中呢,这一段代码这块。
03:05
灰了对吧,不是正常那一个黑色,那像这种东西,你在上面来一个alt加回车,他说让你们替换成什么拉表达式走。对,替换成number表示I调还是比较强大的是吧,那你们学SKY拉的时候,这种东西全是符号,全是符号。啊,就特别多,其实拉姆达表达式就是JAVA8开始的,对吧,JAVA8开始的它就是仿着人家那个SC来的。仿人家覆盖了的啊,做这种做这种函数式编程,函数式编程那就很方便。但是这个东西就是你你要注意啊,就是JAVA8那个number表达式,就现在让你们写应该写的不习惯是吧,不知道怎么写吧,根本不会,但是你学了斯盖之后,你再回头看这个加法八,你再回头看一看。
04:01
就差不多了啊,就差不多了,你现在不会写就算了,现在不会写,因为你到时候学那个SKY的时候,它全是任文,全是符号。啊,什么那个什么冒号对吧,冒号冒号还有冒号冒号冒号对吧,三个冒号的,还有冒号大于号,冒号小于号的,这种东西你们还没见到这个对吧,还没见到这个对吧,这个东西叫什么呢?斜变逆变,斜变逆变这个东西会死人的,这个还挺难的,因为你们可能看到还没看到什么什么斜变逆变,还有什么反射啊,这种东西都是非常非常在scla当中非常非常一个高级的一个知识点。啊,就很难那一块一个东西啊,但是你们现在应该见到什么这种东西,还有那个冒号冒号冒号都见到啊,集合那一块拼接的时候对吧?哎,预习过SKY的时候应该都能见到啊,这全是符号里边。好,然后我们看一下吧,打印一下对吧,哎,再发送一下那个数据。
05:03
消费者,我们还是开的还是开的,来把这个数据走一下啊,带回调函数的。OK。那刚才我们打印的是。Partition加对吧,Partition加的,那因为我们只有一个分区,这样我们来建一个什么两个分区的可以吧,因为一个分区不好看效果是吧,OBD model,然后卡不卡B。卡夫卡,然后杠杠。卢哈102冒号八幺,然后杠杠瑞。告告逃,然后叫second。刚刚,然后爬提审。我来三个吧,刚刚副本。
06:00
吧。然后我们两个副本吧,两个副本走。好,创建成功了,那接下来我们就不往那个什么first发送了,对吧,改成second。三个的发送OK,然后这个地方的一个消费者呢,我们也把它停掉,然后改成。好,然后我们再来演示一下。这边注意。他是什么,而且这边是什么。分区这个是分区内的一个偏移量,之前说过它分区内偏移量是不是自己维护自己的呀,所以你看到的哎,0123012012,自己维护自己的一个,不是说整体零到十了啊,零到九了,不是这样的好,然后大家比较奇怪的是在哪啊。
07:11
你看这个数据没有奇怪的地方吗?好,来这个可能看看这个。我们发送数据是不是按013456789发送的呀,那读数据它为什么是0369147258。012,那大家能意识到什么问题呢?是轮询的一个写一个是是,但是你看那个读数据里边。试一下它是这样的,你一次获取的时候,你考在获取数据的时候,一次拉取的时候。
08:01
它是这样的,它是一个分区数据都拉过来之后,再拉下一个分区,再拉下一个分区是这样的,能看出来这一点吗?对吧?哎,因为刚才我们通过这个地方能知道它是不是将。零号分区发动过去之后,哎,这个地方在干什么。对应的零号分区。二号一号对吧,也就是说他先获取的是整个分区里面的一个数据,不是说你这边发送过来023456789按这个顺序的,不是的,他说一个分区消费完了,消费下一个分区,再消费下一个分区,一个分区一个分区的,所以说之前强调的一个问题就是诶分区内有序,而不是说整体有序,因为消费的时候你没办法说按照你传进来一个数据。零号分区哪一条,一号分区哪一条,二号分区哪一条不是这样的,他是把一号分区读完了之后,读一号分区,再读二号分区。啊,整个的数据这样的一个分区,一个分区读的,一个分区一个分区来的啊。
09:00
啊,这块要注意一下啊,就消费者消费的一个问题。
我来说两句