当前位置: 首页 > article >正文

RabbitMQ自动发送消息工具(自动化测试RabbitMQ)

点击下载《RabbitMQ自动发送消息工具(自动化测试RabbitMQ)》

1. 前言

在现代分布式系统中,消息队列扮演着至关重要的角色,用于在不同的服务或组件之间传递数据。RabbitMQ作为一个流行的开源消息代理软件,被广泛用于实现异步通信、负载均衡和任务队列等功能。本文介绍了一款使用C#开发的自动化发送RabbitMQ消息的工具,该工具旨在简化消息的发送过程,提高开发效率,并支持多种消息发送策略和配置选项。

在这里插入图片描述

2. 软件介绍

该软件是一个基于 C# 的 RabbitMQ 消息生产程序。它集成了 RabbitMQ 连接配置、消息自动生成配置以及日志记录功能,能够按照预设的时间间隔和总次数自动发送 RabbitMQ 消息。消息内容支持多种随机生成类型,包括日期、序列号、Mac 地址、整数和浮点数。此外,程序还提供了实时日志查看功能,以便用户能够实时监控消息的生产情况。

2.1 连接配置

在这里插入图片描述

  • Host: 配置 RabbitMQ 服务端地址,必填项。
  • Port: 配置 RabbitMQ 服务端端口,必填项。
  • UserName: 配置用户名。
  • Password: 配置密码。

如果RabbitMQ服务采用了SSL认证,则需要配置以下数据项:

  • CertPath: 用于指定客户端证书文件的路径。如果你的RabbitMQ服务器配置为需要客户端证书进行身份验证,你需要提供客户端证书的路径。这个证书通常是一个PFX(.pfx或.p12)文件,它包含了公钥和私钥。
  • ServerName: 用于指定服务器的主机名或域名。这个值用于验证服务器证书中的主机名是否与提供的主机名匹配。这是SSL/TLS验证过程的一部分,确保你正在连接的服务器是你认为的那个。
  • CertPassphrase: 配置用户名。

所有配置完成后,点击【连接】即可,如输入无误,则可连接成功。

在这里插入图片描述

2.2 配置消息

在主题列表中,点击右键将出现子菜单,子菜单功能包括:新增、修改、复制、删除、上移到顶部、上移一位、下移一位、下移到底部。新增和修改功能在输入完数据后需要点击保存才会将录入数据保存。

在这里插入图片描述

Exchange(交换机)

Exchange是RabbitMQ中的一个组件,它接收生产者发送的消息并决定如何处理这些消息。Exchange根据消息的Routing Key和Exchange的类型来决定将消息路由到哪些Queue。RabbitMQ支持多种类型的Exchange,每种类型都有其特定的路由逻辑:

  • Direct Exchange(直接交换机):将消息路由到Binding Key与消息的Routing Key完全匹配的Queue。

  • Fanout Exchange(广播交换机):将消息路由到所有绑定到该Exchange的Queue,不考虑Routing Key。

  • Topic Exchange(主题交换机):根据消息的Routing Key和Queue的Binding Key的模式匹配来路由消息,支持通配符。

  • Headers Exchange(头交换机):根据消息头中的属性进行路由,而不是Routing Key。

Queue

Queue是存储消息的缓冲区,直到消息被消费者接收和处理。Queue具有以下特性:

  • 持久性:队列可以被声明为持久的,这意味着它们在RabbitMQ重启后仍然存在。
  • 排他性:如果一个队列被声明为排他的,那么它只能被声明它的连接使用,并且在连接关闭时自动删除。
  • 自动删除:如果一个队列被声明为自动删除,那么当最后一个消费者取消订阅时,队列将被删除。
  • 消息确认:消费者可以手动或自动确认消息,确保消息被正确处理。

RoutingKey(路由键)

Routing Key是一个字符串,RabbitMQ使用它来确定如何路由消息。它通常与Exchange的类型和Queue的Binding Key一起使用。Routing Key的工作方式取决于Exchange的类型:

  • Direct Exchange:Routing Key必须与Binding Key完全匹配。
  • Topic Exchange:Routing Key可以包含通配符(如*#),用于模式匹配。
  • Fanout Exchange:Routing Key被忽略。
  • Headers Exchange:Routing Key通常被忽略,除非在绑定时指定了x-match头。

Message

message是信息传输过程中的基本单位,它在生产者(Producer)和消费者(Consumer)之间传递。消息包含了实际需要传输的数据以及一些元数据,这些元数据用于描述消息的属性和路由信息。

2.3 开始执行

配置完成后,点击【启动】按钮即可开始执行Kafka消息生产操作。程序将按照配置列表的顺序依次执行状态为【启用】的记录。

在这里插入图片描述

2.4 查看日志

程序在执行过程中会自动切换至日志查看界面,用户可以实时查看每个消息的生产明细。日志界面提供了【开始】按钮,与生产消息界面的【开始】按钮功能相同。

在这里插入图片描述

当日志内容过多时,用户可以点击【清空日志】来清理当前日志内容。点击【保存为文件】可以将当前日志内容保存为log文件。如果未手动保存日志记录,程序会在可执行目录下的Log/LogInfo文件夹中保留所有执行的日志记录。

在这里插入图片描述

最后,我们分别使用RabbitMQ Assistant 工具和RabbitMQ的管理端查看一下,可以看到确实是发送成功了。

在这里插入图片描述

请添加图片描述

3. 总结

本文介绍了一款使用C#开发的自动化发送RabbitMQ消息的工具。该工具通过简化消息发送流程、提高开发效率和支持多种消息发送策略,极大地便利了开发者在分布式系统中使用RabbitMQ进行消息传递。通过详细的代码示例和功能介绍,我们展示了该工具的设计思路、实现细节以及如何将其集成到现有的开发流程中。希望本文能对正在使用或计划使用RabbitMQ的开发者提供有价值的参考和帮助。

点击下载《RabbitMQ自动发送消息工具(自动化测试RabbitMQ)》


http://www.kler.cn/a/381811.html

相关文章:

  • es快速扫描
  • [代码随想录23回溯]回溯的组合问题+分割子串
  • Go快速开发框架2.6.0版本更新内容快速了解
  • Flink中并行度和slot的关系——任务和任务槽
  • 重温设计模式--代理、中介者、适配器模式的异同
  • debug diagnostic tool 调试.net的错误
  • 群控系统服务端开发模式-应用开发-文件上传功能开发
  • qt QStandardItemModel详解
  • Hms?: 1渗透测试
  • 2DGameEngine(webGL)----初始化工程
  • SD-WAN技术怎样与运营商网络无缝集成
  • Apache HTTP Server中级操作指南
  • 100种算法【Python版】第47篇——堆排序
  • Pytest-Bdd-Playwright 系列教程(5):仅执行测试用例的收集阶段
  • 有色金属价格的上涨通常受到多种因素的影响,以下是一些主要因素:
  • 在 Google Chrome 上查找并安装 SearchGPT 扩展
  • Pytorch cuda版本选择(高效简洁版)
  • HTB:Sense[WriteUP]
  • scala的属性访问权限
  • Go:struct结构体和继承
  • Jest进阶知识:整合 TypeScript - 提升单元测试的类型安全与可靠性
  • 【面试经典150】day 10
  • 【07】Maven项目多环境打包配置
  • SpringBoot+ClickHouse集成
  • PostgreSQL和MySQL在MVCC
  • 白杨SEO:百度在降低个人备案类网站搜索关键词排名和流量?怎样应对?【参考】