00:00
接下来我们进入第四章啊,这个卡夫卡S调优,当然这个其实也不算什么调优啊,就是一些大家可能之前没接触过的一些API啊,首先第一个叫动态发现分区啊,这是干什么用的呢?比如说我一个流正在运行对吧,但是呢,我发现。呃,我想增大这个分区数,我想添加一个分区,对吧,那我可以手动通过命令行去改,对吧,加分区,但是呢,你正常的写法你呢。这个流感知不到新分区的存在,那完了,那你这个接下来往里写数据,那不接下来不看不到这个数据嘛,对吧,所以第一个参数呢,就是开启动态发现分区对吧,如果你加了一个分区可以。这是完全没有问题的,对吧,它可以动态感知到啊,这意思,第二个从卡卡数据源处生成的bug,这个看似好像很炫,实则没有什么大用啊,这是干什么用的呢?我给大家看一下啊来。那么以前呢,以前啊,呃,我找一个。
01:03
诶。我从卡夫卡读取数据啊,有没有啊,没有吧,嗯。还真没有,那我就打开这个了啊呃,那以前我们想啊,以前呢,咱都是从这个。嗯,得找DWS啊。咱们经常所写的是什么呢?咱们经常所写的都是从这个刘诶aign step马对吧,但实际上你要知道我们这个东西大家看啊它。来,我给你看一下,就把它拿过来,然后呢,我们拿到太子里边。呃,随便吧,我还是可着这一个改啊,那比如说在这边我有了一个东西对吧,这个呢,反正我也不一定行,我就写两个这个空就行了,对吧,那不报错啊。好,这样的话呢,我们得到了一个卡不卡的consumer,它的一个S对吧?嗯,那对于它它consumer点到三看见没,就这我们可以在这不是流啊,看这是一个什么。
02:03
KA consumer,就是更早的去提取这个时间戳生成我们的wordmark讲的这个事对吧,就是看上去好像诶。有点东西,但实际上呢,没什么大用,对吧,大家了解一下这个事儿啊,就是从更早的提取时间戳啊,就是这个意思啊好第三个诶这玩意有用。这玩意儿呢,其实对于卡夫卡没用,对于其他的东西有用啊,这个指的什么意思啊,比如说来看啊。这个之前我跟大家提过。啊,有点东西的东西不多啊,差不多是这个意思啊,第三点呢,有用啊,有用,但是对卡夫卡没用,因为卡卡的默认加了一个参数,第三个参数干什么事儿呢?比如说卡夫卡三个分区这个点呢,我以前跟大说过,我说卡法里边已经做过这个优化了,讲什么呢?讲那个当时我扩展了一个wordmark传递的例子,大家还记得吗?就是刚才我们写的WORLDMARK123这个例子对吧,讲第讲这个worldmark传递的啊好,那比如说wordmark这个是卡夫卡的。
03:04
分居数有呢,123。接下来呢,我有。我另一个程序对吧,我有四个并行度去消费。我有四个冰路消费。啊,我有四个边度消费对吧,我边度为四,这边的三个分区完了,那是不是有一个分区有一个边度消费不到数据啊,如果我在这个位置提取我,那这个里边永远是什么浪的最小值是不是。对吧,假如说你下游要去开窗,对吧,提取石家庄以后开窗就分组开窗聚合,那是不是窗口永远关不掉,有印象吗?是不是这个有没有问题对吧?如果说我这个永远消费不到数据,他的我马是不是永远都是浪最小值,那到了下游它呢,这样分四个吧。对吧,这边我把更新更新更新它呢,不更新永远是这个浪的最小值对不对。
04:05
对吧,那如果真的出现这种情况,那完了,我下游开窗的这个东西关不了窗了。没办法进行了。对吧,就没办法进行了,那怎么办呢,对吧,所以这里面有个点叫设置空闲等待时间,它呢指的是如果说上游的。我那呃,这个是一个时间啊,就假如说这个你自己设置X对吧,好,如果对于我下游刚才说的这个判断而言,对吧。这个呢,一直是浪最小值,好它一直更新更新,这三个人都在更新,但是呢,我取最小,那我这个B度里边的我mark永远是浪最小值对吧?好这个空间等量时间什么意思呢?假如说过了这么久。过了X对吧,好,那你这个都没有更新,不好意思,这个接下来不参与我的马克计算。就不参与摩马计算了,就是我我计算本来要考虑四个,四个里面取最小的对吧,但是呢,你这个这么长时间都不更新,我认为你有问题,你有大问题对吧。
05:05
你不更新凭什么大家都更新,你不更新我认为你是不是有问题,有问题怎么办?把你干掉。对吧,有问题就拖出去枪毙啊,直接干掉对吧?啊,不考虑你能听懂这个意思吗?听懂。这个应该没毛病吧,很简单的一个需求,对吧。啊,这是我们所说的叫空闲等待时间啊,呃,写法呢,在这啊,在我们提取wordmark的时候加with对吧,加一个时间就好了,这个对卡夫卡本身没用,因为卡夫卡的本身底层它里面就做了这个优化了,你不需要考虑这个事儿啊,就不需要考虑这个事儿,而其他的如果是多并行度的一个S,那你就要考虑这个事儿了。对吧,你可以把它加上啊,过多长时间之后,诶不考虑到对吧?好,这是第三个点,第四个卡法尔消费策略,这个没什么好说的啊,这个呢,就是第一个默认消费策略呢,从这个就按这个参数呗,对吧,有一个a list latest对吧,当然你也可以自己手动直接指定from list,然后latest,对吧,从一个指定off啊,从指定的时间戳,对吧,这就告诉你从哪开始消费。
06:09
对吧,从哪开始消费,而如果说你做了checkpoint,未来呢,你从checkpoint,假如说你挂掉了,你从checkpoint或者point重启。你从这个重启对吧,那么是没有问题的。他呢,就不考虑这个参数了,他会接着消费啊,这是讲的第一次对吧,第一次启动的时候啊,你可以选择消费的位置OK吧啊所以说这里面呢,叫卡普卡的调优,其实也不算什么太多的优化,就是一些特诶一些写法。
我来说两句