好,先给大家分享一下 spinboot 和卡不卡的一个集成啊,其实相关的集成啊,早就已经写好了,只是最近才有时间给大家去录视频。呃,那这里呢,我们今天只做一个基础集成的一个分享 传说,这里介绍了什么是卡布卡,而我们用卡布卡可能一般只是把它当成交易堆列来用啊,这里我们不讨论它的一些分布式计算能力啥的。 嗯,这里呢,我们借助于这个 swing 杠卡布卡这个包啊,去给大家做了整个一个演示,相关的参考文档给大家贴在这里了。然后呢,整体的一个技术站啊,相对来讲会比较新一点,就是布特用的是二点七,然后卡布卡用的是三点四啊,因为是钢铁的 demo 嘛,可能当时用的就是最新的一个卡布卡。 嗯,那这里我们既然是去做 demo 的演示啊,呃,肯定是要有一个卡不卡的,很多小伙伴就是被这个劝退了,因为卡卡的步数相对比较麻烦一点啊。这里呢,我给大家 提供了一个刀客红 pose 啊,这里指向的其实是我的一个干博客啊,这里呢,有整个的一个刀客红 pose, 一个配置文件啊,包含 do, keeper 啊,卡不卡,以及说卡不卡 ui 的一个配置,都是直接可以拉下来一键运行的,然后启动之后呢,其实你是能看到一个 这个卡不卡 ui 的,就是可以对卡不卡的一个查看啊,里面有这个 book 的信息啊, topic 啊,你说 consumer 的一些信息都可以在这边看到啊,比较方便 好,然后呢,这里我们再来看一下它的一个集成啊,一般 swine 集成项目的集成,一些装修店的话,基本上就是包含三部嘛,然后一个是说导入依赖,然后去配置,然后去使用。 呃,这里呢我们可以看一下。呃,导入 vlan。 ok, 这里呢我们是导入了这个 swing 杠卡不卡的一个包啊? 然后是这个 jason 啊,是做一些机械化的一些控制。然后呢这边是 test 和这个 look book, 然后呢我们来看一下它的一个配置。 配置的话是在这个 pk 室里面直接去配置的啊,主要是这一块卡不卡的一个配置啊,这里呢是他的一个 sora, 就是说他的一个地址,然后是生产者的配置和消费者的配置。呃,其实比较重点的一个配置呢,是这里 啊,这个配置大家要记得去配。这里呢,其实是你的实体类的一个路径的一个配置啊,如果说你不配置这个东西呢,你在发送消息的时候,他可能会去抛出来这个不信任的一个错误 啊。然后呢再说一个小技巧,呃,我们在进行调试输出的时候,我们可以把他的日志级别呢给他调成啊,比较高的一个日志级别,因为他的一个输出位置实在太多了,会影响到你自己去看输出的一个效果。 ok, 然后 我们这里的配置大概就这些一些基础的使用,然后呢我们来看一下使用,使用的话,这边分为生产者和消费者的一个类,然后我们来看一下生产者, 生产者这边呢,其实我做了两种方法的一个书写啊,一个是说同步,一个是异步啊,那这里呢,我们其实都是借助于这个卡通话 tempolate 去进行了消息发送 啊,就是他的一个剩的方法,剩的方法里面呢,其实指定了 topic, 然后以及说你要传递的一个消息啊,就可以。呃,这里的返回呢,其实是一个 future 啊, 是这个,然后 future 呢,我们同步的话,你就可以在这 get 拿到这个 future 的一个结果,然后把整个结果返回回去,而你去做一个硬步的处理呢,其实你就是把整个的一个 future 直接去返回了,那我们在使用的时候是什么样子的呢?你如果说是啊,使用的同步 的话,你等待拿到这个瑞造他,然后去做后续的一个处理就可以了。但是如果说你是直接返回的那个 future, 你可以去给他做一个回调,回调的时候呢,他会告诉你失败还是成功,然后你再去做相应的像是从事啊或者是日志记录啊,都可以去做了, ok, 生产者大概是这个样子。然后我们来看一下消费者,呃,消费者,这里呢,基本上我们可以通过这个卡布卡的意思呢去做一个消费啊,这里经常用到两个参数,一个是说 topic, 一个是说古普 topic 呢,就是你指定你要消费哪个 topic 里的消息,对吧? 然后古朴的一个作用呢,就是说他会有一个分组的概念啊,不同组之间可以同时消费到这个消息,然后相同组之间呢,只有一个方法可以消费到啊,这里呢也是做了相关的一个备注啊,然后呢,其他的 一些参数的说明在这边有啊,因为我们这边不会用到,所以也不会去做特殊的一个说明,然后这里呢,还有一点就是说我们接收的这个消息呢,其实就是我们发送的那个消息类型啊,这是我们自己定义的 一个类型,当然你除了通过这种方式去接收,你也可以用它的啊, consume 靠的这个类,靠的这个类。呃,那这个类呢,其实你会拿到一些除了你自己投递过去的消息,你还可能会拿到一些啊, 像是对列的一些时间啊之类的一些啊内容都是可以通过这个内置对象拿到的。好,然后我们这边去做一个演示啊,然后这里写到了一个 test, 这边我们来看一下它的一个测试列,首先说我们测试一下它的同步的一个发送,以及说它的一个输出情况。 ok, 这里我们可以看到发送 成功之后呢,其实是有两个 group 啊,一个是 group 零一,一个 group 零一 a 都消费到了这个消息,对吧? 这里其实就是我们 consumer 里面去配置的啊,这个是国五和零一啊,和国五和零一 a 的一个消费,而且只有一个 ea 进行的输出啊。好,然后我们来看一下通过印度的这种方式去投递又是什么样的情况呢? ok, 通过这里的一个输出,我们可以发现他其实先输出的是我们的一个发送完毕,对吧?然后又输出的我们这个发送编号的一个消息,就是这里啊,说明他的毁掉方法执行的会晚一点。 然后呢,这里消费的情况和刚才这个几乎是差不多的啊,又是被呃两个分组分别去进行了一个消费。好,今天的分享就到这里哈,如果说想要这个相关代码的一个小伙伴呢?去到主页找一下就可以了,那我们下期再见。
粉丝9819获赞6.3万

今天给大家分享一下随便部分加卡不卡,去给大家演示一下这个手动的 a c k, 以及说你没有正确的 a c k 被带来的一个问题。 好,那这边呢,我们是借助于这个 spin 杠卡不卡的这个包啊,以及说我们这边的一个 ui 界面给大家去做的这一期的一个演示。嗯,首先说我们如果说要进行这个手动的 atk, 是需要去做两点配置的啊,一个是说我们要关闭它的一个自动提交啊,以及说我们这个 att 的模式设置为手动。好,我们直接来看一下配置, 这里呢关闭自动提交啊,这里是开启了一种配置,然后其他的呢就是一些呃常规的一些配置吧。 ok, 做好了这样的配置之后呢,我们来看一下我们的消费者,我们消费者这边呢也是借助于这个卡不卡类似呢去做的一个消费啊,这里是指定的 topic 和我们的一个股票 id 啊,都是写在我们的这 这个类里面了。那这里呢我们的消费除了能拿到我们刚才的这个业务对象之外,还可以拿到一个 knot 里面的这样的一个确认参数。在我们进行自己的业务逻辑处理之后呢,我们去进行一个确认啊,这样子就完成了一个正确的 一个手动提交的一个过程。那如果说我们没有正确的操作,会出现什么样的问题呢?我们先来演示一下,首先这里我们不去进行一个确认。好,然后我们这边来看一下我们的一个测试类,测试类这边呢其实是进行了四条消息的一个发送,好,看一下发送方法,他就是借助于这个 temperat 直接去进行的一个发送, 将消息投递到这个零五里面去。 ok, 然后呢这边最后一行,我们去借助于这个哈当烂纸去做一个主色,也就说让他去进行一个保证他的一个消费。好,那 这里我们来看一下他的一个测试。 ok, 这边可以看到,其实我们的这个 ctrl 啊,他也是进行了输出消费到了四条的一个消息,对吧?然后呢我们来看一下这个 ui 面板上, 好,找到我们 top 五的对列。然后呢这边其实呃消息也都在是条消息,然后这是我们的一个消费者,其实你弄眼一看好像也没有什么问题,对吧?也都正常的一个消费了,但其实这里其实呃已经出现了一个问题啊,因为你没有去进行对移的一个提交, 那我们这边呢先关掉当前的这个消息,然后呢我们这里还会有一个幕后方法,这个方法就是启动了,然后就在这走射等待着,然后我们看一下跑一下这个这个方法会出现什么样的一个问题。好,这我们可以看到我们这个方法启动了之后呢,我们的消费者再次去 消费了这样的四条消息啊,这其实就是我们说的那个问题,如果说你在开启了 acc 的模式之下,你没有去进行手动的一个去提交,那就会导致你的项目每一次重启都会去重新消费里面所有的一个消息啊,这也是最近小伙伴遇到的一个问题啊,那我们再来看一下我们正确的一个操作 啊,如果说我们这里消费完了之后,去给他进行了一个手动的 a c k 啊,看看会怎么样?好,我们把代码改改回来正确的 a c k 之后,我们再去跑一下这个末核方法,因为这个方法跑的时候呢,我们消费者就会启动, 这我们可以看到他再一次消费了我们的四条消息,对吧?啊?那我们继续来看一下这边啊,首先说我们刚才的那个消费者,其实他这里是没有进行一个位移提交的,这边直接就没有显示。然后我们来刷新一下, 刷新了之后我们可以注意观察这个当前的 offset 和 nds offset, 它其实是已经进行了一个位移的提交。呃,就说它已经消费到这边来了,那我们再把这个方法关闭之后,模拟我们的应用再次重启,看它还会不会被继续消费掉。 大家好,我们这边其实又一次重启了之后,我们也没有去再次拉到一个消费消息了,就是因为我们刚才已经给他确认了,所以就不会出现重复的去进行消费这样的一个问题。 好,那今天的演示就到这里,有需要代码的小伙伴呢,可以去首页去获取一下。好,那我们下期再见。

哈喽,大家好,我是更大华行。这款代码演示了如何在 spring 中集成卡夫卡和发送和接收消息。首先我们在项目中添加卡夫卡的依赖,然后创建一个卡夫卡的生产者,用于将消息发送到卡夫卡的 topic, 通过注入卡夫卡 timeplay 并且调用他的私人的接口发送消息。接下来创建一个卡夫卡的消费者, 用于从卡夫卡 topic 接收消息。这里可以使用卡夫卡的 listener 注解来指定要监听的 topic, 并编辑 listener 方法来处理接收到的消息。最后,需要在 spring 的配置文件中配置卡夫卡的连接属性。 这里需要将 you 卡福卡 server 替换为你的卡福卡服务器地址。 group id 替换为消费者组的 id。 现在就可以启动应用程序发送和接收卡福卡消息了。看到这里了,给点个赞呗,私聊拿原码。

今天给大家介绍一下如何在 spent boot 中使用 carf 卡啊,前面几节课中,我们讲了 carfa 的一个基本介绍啊,还有一些快速入门啊,快速入门,我们就是直接使用普通的一个加油代码进行一个编卸的啊, 变强了一个身上有消费者啊。接下来因为我们在项目中啊,经常会使用的 smooth, 是不是?所以这节课呢,给大家介绍一下如何在 smoom boot 中使用卡夫卡啊。首先呢,我们还是一样的,我们会需要去创建一个配置文件啊,配置文件啊,在创建配置文件之前呢,我们引入这个依赖,我先把这卡夫卡这个依赖给他引进来哈。 嗯,首先引入这个依赖,然后我们看一下这个配置文件需要配置哪些,嗯,其实和我们的家一样的啊,这家伙一样的,他这里面需要配置 brother strawberg on source, 对不对?就是卡不卡的,嗯,有几个配几个,有几个配几个啊,好, ok, 嗯,那么我们首然后呢,我们看一下监听到一个模式, 是啊,一个手动提交啊,一个手动提交啊,手动提交 sk mod 对不对?好,然后我们看一下,我们配置一下生产者,生产者 sk 为一,对吧。大家还知道一是什么意思呢?我们当时不是有一个零一负一吗?是不是?我们来看一下,这里有一个基本作业介绍啊, 给帮助大家回忆一下啊,帮助大家回忆一下这个是在哪了,我们来看一下这个 在这啊,这是在后面讲的啊,后面零一负一啊,咱们有对应的几种状态啊,具体我们在后,在下一节课我们再讲。好,然后零一负一,然后他呢?他这个就是为了确认他的一个,嗯嗯,数据的一致性啊,数据一致性啊,看一下他有没有同步完成啊?主要是用来确认这个的。 好,然后这个 p 处理的一个大小啊,啊,就是到达这个之后,然后就把这个消息发出去了啊,然后内存,然后这里面是蓄力化器啊,蓄力化器,也就是这个是咱们的 t 的一个蓄力化器啊, v 六的一个蓄力化器啊,这两个蓄力化器都要加上, 然后这里面呢就是一个安娜毫秒啊,这个东西啊,咱们看一下重试为零,不重试。好, 然后呢配置稳健和依赖咱们,嗯,配置完了,对不对?然后我们现在来配置我们消费者啊,好,这个消费者呢相当于咱们这个,嗯,家里面我们是其实很容易进一个配置的,我们只需要用这个 com 灯的注解一个组件就行, ok 了,好,这个组件呢, 然后我们在这里面通过将这个,嗯,卡瓦丽森呢,这个注解啊,配置在我们的方法里面啊,然后呢我们这个注解里面啊有对应的什么呢? topic group id 啊,我们在快速 日本的时候是不是也配置过一个 topic 和 pro topic 和一个那个 group id 进行一个消费,是不是?你看这里面一个 topic 和 group id, 我们这里 sormood 其实也是一样的,我们只需要把这两个配置啊配置在咱们的一个注解中就 ok 了。好,然后我们再看一下,嗯,再看下这个, 这里面呢有接受几种参数呢?这里面我们有一个 consume, consume record, 对不对? record 这里面它代表我们的记录,然后还可以艾特,这艾特呢,就是里面有一些数据啊,我们可以通过进行一个手动提交啊,通过手动提交,当然了你也可以,好像也可以不存在这个方法啊,不存在这个方法。好, 然后我们看一下这里面,通过这个我们打印条消息啊,证明我消费到了。好,这个是,呃,消费者啊,消费者,然后我再配着一个监听器,生产者的一个监听器啊,生产者 的一个鉴定器啊,好,这个鉴定器呢,就代表我们消息有没有发送成功啊?主要是用来记录日志的作用啊,记录日志,看一下消息有没有发送成功或者失败的话,然后我们都会去把这个失败的。嗯,记录到咱们的一个什么麦斯告里面啊,然后方便后续进行一个重试或者是查看啊。 好, ok, 好,那么我们上面这个基本的一个配置给大家,配置完了,我们接下来就给大家编写一个测试代码啊,测试代码其实很简单啊,我们只需要调用这个。嗯嗯,看 spring boot 为我们提供的一个这个 biodics center lisa 和一个卡布卡他们来的啊,这两个就行,大家有没有?呃觉得这很熟悉? 嗯,用词本都是基本上这么错的,就是我们用过 release temperature, 是不是还有 rest temperature, 对不对?都是同样的方式啊,然后我们只需要使用这个就 ok 了,使用这个呢?然后呢?我们只需要使用 temperature 去塞一个 protell list 啊,这个在这之前啊, 啊,这个,你你,你可设置也可不可,也可不设置啊啊,然后我们调用一下申的方法,用申的方法呢?我们往哪发呢?往这个 top k 里面发啊,发送消息的人是不需要直接 girba id 啊, girbaid 是咱们的一个消费,咱需要去指定的啊,因为他就是为了去消费不同的一个分区啊, 好,各,然后呢?这里面啊,我们发一个闹内容出去。好,那么我们现在来使用我们代码试一下啊,代码试一下,我看一下我们的一个服务有没有起进来。这个我们看一下,我们进入到咱们的一个项目里面, 嘿,我们的衣服里面,我的我的控制台呢事呢,我来看一下,找一下我的连接啊,在这, 对不对?好,大家,嗯,应该还记得咱们的一个玛丽 pass, 对不对?玛丽 pass, 我们通过这个容器去安装一下技术所见的,我们看一下六十点三, 看看有没有能不能连接上。 ok, 连接上了是不是?我们看一下我们的一个卡布卡齐全是不是齐起来的啊?可以看到咱们的卡布卡齐全是齐起来的,正常房正正常运行的啊。然后我们现在这样,我们把我们的项目启动一下,我们启动一下我们的项目, ok, 项目已经启动成功了,对不对?已经启动成功了,已经启动成功了。 好,然后我们现在怎么做呢?我们现在的话我们就去生产一个消息啊,生产一个消息,我们生产消息呢?我们通过这这个咱们的一个 test 方法啊,去给他直接进行一个调用营销材料方法就好了 啊。表演完之后呢,我们看看,看一下会发生什么了啊?看这里送的 messam message 是不是这里呢?我们发的消息之后呢?可以看到啊,可以看到这里面是把消息发出去了。对,这里面会调用一些东西,然后我们看一下这个,我们聊一下 siri mood, 这里面会打印几个消息。第一个 可以看到,有没有看到啊? consumer, 我们看一下。出什么问题了吗?啊?在这是不是在这看一看啊?消费消息才死灵,是不是才死灵? 我们再看一下这个是 topic, 是不是 topic? 是 topic test。 我们再发一条看一下。我怎么感觉很奇怪呢?我怎么感觉这里面好像是消费的是有问题呢?我们来看一下它的配置, 它的配置看所有码,一个是消费。嗯?这个怎么没有被使用过,是吧? top test, top test。 我们再把这个点一下看一下,我们这个清空一下。我感觉这个没发成功。 我再点一下,我把这个再点一下。 top 的太少。 喂,这个是发,看他有没有发出去,发出去应该不是在这显示的,在这显示的。哎,你看可以看到了,是不是咱们这里面消费的消息?消费消息,对吧? hello, hello, 卡不卡?嗯? 布的对不对?说明布的这已经发到了。然后呢?这个监听器啊,看一下这个监听器啊,没事。李思呢?康婷呢?这个监听器啊,监听器。这个是他打印的啊。然后我们看一下。呃,我们看那个历史呢和他的历史呢?有没有打印出来?小心发生成功,小心发生失败。 消息发送成功。我们想看下这个消息发送成功,消息发送失败。这个普罗大利斯呢?咱们是没有出来,是不是?我来看下。什么原因啊? 好大的 list 呢?好的,大概在 list 呢?下去发送成功,下去发送失败 啊,不知道大家累死哪了?嗯啊,看一下啊,没有使用。为什么呢?不知道大家累死呢?他,这个我们看一下 ctrl 吗? 我先找一下原因啊。这如果找不到的话,我们再看一下,我们先把这个断掉,然后用第八个模式给他写起来。 ok, 写下来对不对?好,然后我们呢?我们再用这个 list 呢?我们打个断点啊,打断点。然后呢?我在这里面认,再重新认一下这个猜测方法,看一下他会进不进。会不会进到这个断点啊? 没进到这个点,没进到这个断点,是不是这个历史呢?没进到,对吧?没进到这个断点。嗯,生产历史呢啊。

我录制的新版广播上线了,你听到过吗? 女士们,先生们,我们的飞机已经着陆,飞机还将继续滑行。在系好安全带、指示灯熄灭前,请您保持安全带扣好系紧,不要打开行李架。 下期前请查看您的座椅周围以及行李架内是否有遗漏的物品。 继续前往下一站的旅客请保留好您的登机牌。飞机停稳后请稍作等候,待目的地为本站的旅客下机后再下飞机。下机时,请 您带好证件及所有手提行李。当您在候机厅等候时,请不要走远并留意登机广播。 在保障安全的前提下,春秋航空注重运行准点与服务品质,尊重旅客的选择权,为旅客提供多种实惠的出行产品。 春秋航空连续三年获得国内大中型航空公司到岗准点率第一,并且保持着民航的安全最优记录。您可以登录春秋航空官网、 ch 点 comapp 和微信公众号提前预定,抢购优惠机票。 我们竭诚为购买商务经济做的旅客提供前排座位灵活退改等一系列优质服务。 商务经济座,您的商务旅行首选!感谢您搭乘春秋航空班机,我们下次旅行再会!



大家好,今天这个视频对 rabbit mq 的直接模式、主题模式、广播模式和延迟消息模式这四种基本操作进行一下演示。首先是直接模式 direct, 它使用的是 rabbit mq 默认的 exchange, 所以只要配置好对列就可以使用了。不用指定交换机和如停 k, 只需要指定对列,这是发送方对列名称,然后发送的消息。 然后我们这边对大家进行一下接受。好,我们来操作一下,可以看到这里可以正常接收到,也可以实现多个消费者从对列中获取数据。比如说我这边有两个消费者,两个接受方,重启一下, 可以看到我多次操作他的接受方式交替展示的,可以对他的流量进行一下分担。除了传输简单文本信息,还可以进行自定义对象的传输。比如我们这里 成了一个 user 对象,它需要实现这个序列化接口,也是直接发送。我们现在这是一个新的对联, director push object 使用的是这个对列,然后接收的时候,他就可以直接去对这个对象进行接收,可以看到我们这边可以成功的接收到,这是直接模式 debug 的。然后是主题模式 topic, 他不像这个直接模式, 直接模式只配这个对列就可以了。 topic 除了配对列以外,还需要 配置交换机和绑定对应的入定 k, 这三者的关系需要理清楚。入定 k 对应的是输入,对列的名称对应的是输出, 所以是在发送方指定入定 k, 然后数据通过 is 清洁,通过交换机传输到绑定的对应的对联上, 然后接收方再从对列中去获取数据。 red k 可以使用通配符型号或者井号, 信号代表一个单词,井号代表零个或多个,我们这里是零个或多个。就是说,呃,只要是以 top 一个点开头的,这个发送的这个肉鼎 k 的消息除了会被 这个对联接收,还会被他接收,因为 topic 点 a 这个入定 k 也是符合这个规则的。 topic a 我们看一下方法。好,这个是柔丁 k, 柔丁 k 是 top 小点 a, 我们可以呃直观的看到他最终会走到这个队里,然后刚才我们也说了, topic 点 a 也是包含在 top 小点心中的,所以说这个 topic 点哦, 这个队也会接收到,我们来认识一下。 好,我们可以看到这两个对联都介绍到了这一个,我们用 topic 点二这个肉丁 k 去发送,应该是只有这个 topic all 这条消息 可以看到,确实是 topic all, 这个队列接收到了这条消息。接下来是广播模式 find out, 配置时和这个主题模式是类似的,不过是,不过区别是不用配置这个柔婷 k, 但是在发送的时候需要注意一下它这个 第二个参数必须传一个,我们可以传一个工作部串,因为如果不传的话,他就只有两个参数,两个参数的话他就走到默认的直接模式去了,然后就会报错,他走这一个交换机会会把消息发送到这个交换机对应的两个对列中, 翻奥的 a, 翻奥的 b, 他的介绍版本。最后是 延迟消息模式。延迟消息交换机这里使用的是 custom exchange, 这个名字可以自己指定,然后定义一个延迟对列以及绑定一个 朱婷 k, 我们来看一下发送的这个是延迟对列的角 换机,然后这入定 k, 这个是发送的消息, 我们需要实现这里边的这个方法,然后给他设置一个 dele 三千,代表的是小雨延迟三秒,收到小雨后,然后会答应 我们来测试一下,我们看到已经发送了,好,这里接收了四十九,五十二,我们再点一下, 应该三秒。好了。上面就是对 rapid mq 的基本操作的一个演示,希望呢对大家的工作学习有所帮助,感谢观看下个视频,再见。