SpringAmqp之常用模型Demo

      最后更新:2022-03-14 14:20:14 手机定位技术交流文章

      一、消息队列

      电文队列(英文:电文队列)是同一手柄的进程或线条之间的沟通方法,软件存储用于处理输入的顺序,通常来自用户。

      这条信息线是一个随时可以使用的通信协议。每一栏的记录包括大量资料。包含发生的时间,输入设备的种类,以及某些输入参数换句话说,电文的发件人和收件人不必同时与电文队列互动。信件会以队列形式保存 。直到接收者取回它。

      二. 周期春季

      AMQP: 高级信息封存协议,这是在与语言或平台无关的应用程序之间传递商业信息的开放标准,更符合微观服务中必要的独立性。

      SpringAMQP:基于AMQP规格的API标准汇编,该规格为发送和接收信件提供模板,分为两节:春季-amqp基底抽象和春季-兔子底部默认实现。

      RabitMQ是使用erlang编程语言创建的。新闻队列目前已投入使用,这是一种在各种应用之间进行交流的技术。信息团队广泛用于建立分布式系统。

      三、代码示例

      在写代码之前,这是第一次提供兔子环境。我被安装在一个虚拟的多克容器里发射多克集装箱访问兔子管理界面,打开浏览器,输入虚拟机器 IP+15672 端口。客人被推定为用户名和密码。

      在此之后,Pom.xml母项目产生了如下依赖性:

      随后是建造一个生产者项目和一个消费子项目,其目录结构如下:

      配有 rabramq 信息的配置文件

      1.基础消息队列

      SpringAmqpTest 测试课程准备, 队列叫做简单。 Quueue

      @Runwood( 春光) 类) 将测试类添加到 Spring 容器中, 以便成功自动注入 。

      @SpringBootTest 便条自动获取程序配置 。当前软件包是搜索序列中的第一个软件包 。逐步查找 @SpringBootApplication 或 @SprintBootApplication 提到的分类。

      编写消费者监听类:

      首先是经营消费者开办班级,然后是生产者的试验类型方法:

      二. 工作队列模式

      因为上一个例子只有一个客户,所以采用了一个简单的基本模式,但全球奇克模式是用来处理若干消费者的。

      在消费者监听类别中,指定了两名消费者。我不确定在收到每个消费者的便条后 我还能睡一阵子一个人睡20毫秒两百毫秒的客户睡眠根据这一假设,客户每秒可以收到大约50条信息。在一秒钟内,消费者可能会收到多达五条信息。

      制作人测试制作和分发50条信息:

      首先是经营消费者开办班级,然后是生产者的试验类型方法:

      显然,消费者1接收奇数信息,消费者2接收偶数信息,消费者1在不到一秒钟的时间里吞食25条信息,消费者2由于睡眠延长而消化其余25条信息需要更长的时间。

      在这种情况下,睡眠时间可解释为实际项目中两个服务或两个服务器的处理速度。消费者1处理更快,所以早早的结束了,消费者逐渐吞噬新闻的其余部分。在要求效率的程序方面,这样肯定是不行的,因此, Springamqp 允许您配置一个配置文件, 每次只有一个信件 。接收下一条信件的程序已完成 。这将确保效率更高的消费者“获取”更多的信息。消息在短短的连发中被消化。

      在客户概况中增加以下信息:

      消费者1的消费新闻比消费者2的消费要多,

      三. FanoutExchange出版订阅模式

      发布订阅模型示意图

      前两种情况是这一办法的基础。现在有一个交换(交换)。如地图所示,消息不再直接发送到制片人的队列 。最初寄去交换。这是我第一次遇到紧急情况 这是我第一次遇到紧急情况最后,新闻从排队中传到顾客手中。

      变革的主要职能如下:

      (1) 出版商传达的通信的接收人。

      (2) 将电文转到根据规则与之相连的队列上。

      需要注意的是:无法通过开关保存信件。 如果路径失败, 信件将会丢失 。

      消息将会通过 FanoutExchange 传送到每个捆绑的队列 。

      创建配置类, 建立总机和队列, 并将它们全部连接在一起 。 为了帮助演示, 在此定义了两个队列 :

      写下聆听两个客户队列的故事:

      制作人测试方法的创建,转换和发送方法与前述方法不同,有三个参数:第一个参数是交换名称,第二个参数是路由钥匙(在本例中为空),第三个参数是电文:

      两位顾客都对结果很满意:

      四. DirectExchange 出版订阅模式

      此示例使用第二个参数, 而该参数在上一个示例“ 转换” 和“ 发送” 函数中没有定义 。

      制作消费者监听技巧,定义直接交换和两个队列,装配蓝色、红色、红色、黄色、红色、红色、红色、红色、红色、红色、红色、红色、红色、红色、红色、红色、红色、红色、红色、红色、红色、红色、红色、红色、红色、红色、红色、红色、红色、红色、红色、红色、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红、红

      准备测试方法, 并将信件发送到绑定键的蓝色队列 :

      测试结果:

      Binting 键应该用红色代替,新闻应该用红色代替。

      测试结果:

      5个出版订阅模式 -- -- 外汇

      “主题”与“直接”之间的区别在于,通配符可用于模糊匹配。

      编写消费者代码:

      编写测试代码:

      测试结果:

      快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快,快

      测试结果:

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/20089.html

          热门文章

          文章分类