自由的羽毛 发表于 6 天前

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

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

在现代分布式系统中,消息队列饰演着至关重要的脚色,用于在差别的服务或组件之间传递数据。RabbitMQ作为一个流行的开源消息署理软件,被广泛用于实现异步通信、负载均衡和使命队列等功能。本文介绍了一款使用C#开发的自动化发送RabbitMQ消息的工具,该工具旨在简化消息的发送过程,提高开发服从,并支持多种消息发送策略和配置选项。
https://i-blog.csdnimg.cn/direct/a0965563e306429dbb4aceb1d83f6359.png
2. 软件介绍

该软件是一个基于 C# 的 RabbitMQ 消息生产程序。它集成了 RabbitMQ 连接配置、消息自动生成配置以及日志纪录功能,可以大概按照预设的时间隔断和总次数自动发送 RabbitMQ 消息。消息内容支持多种随机生成范例,包括日期、序列号、Mac 地点、整数和浮点数。别的,程序还提供了及时日志查看功能,以便用户可以大概及时监控消息的生产环境。
2.1 连接配置

https://i-blog.csdnimg.cn/direct/398b0ac1f1f24cccb8f5ff8d2aa39884.png


[*]Host: 配置 RabbitMQ 服务端地点,必填项。
[*]Port: 配置 RabbitMQ 服务端端口,必填项。
[*]UserName: 配置用户名。
[*]Password: 配置密码。
假如RabbitMQ服务接纳了SSL认证,则需要配置以下数据项:


[*]CertPath: 用于指定客户端证书文件的路径。假如你的RabbitMQ服务器配置为需要客户端证书举行身份验证,你需要提供客户端证书的路径。这个证书通常是一个PFX(.pfx或.p12)文件,它包含了公钥和私钥。
[*]ServerName: 用于指定服务器的主机名或域名。这个值用于验证服务器证书中的主机名是否与提供的主机名匹配。这是SSL/TLS验证过程的一部分,确保你正在连接的服务器是你认为的那个。
[*]CertPassphrase: 配置用户名。
全部配置完成后,点击【连接】即可,如输入无误,则可连接乐成。
https://i-blog.csdnimg.cn/direct/46cb8b6c4581403982c6b249837f38fa.png
2.2 配置消息

在主题列表中,点击右键将出现子菜单,子菜单功能包括:新增、修改、复制、删除、上移到顶部、上移一位、下移一位、下移到底部。新增和修改功能在输入完数据后需要点击保存才会将录入数据保存。
https://i-blog.csdnimg.cn/direct/4e8536970a3149d1a924e32b966c0e36.png
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消息生产操作。程序将按照配置列表的顺序依次执行状态为【启用】的纪录。
https://i-blog.csdnimg.cn/direct/f73949f8ed194bf59ee68b5b7dae245e.png
2.4 查看日志

程序在执行过程中会自动切换至日志查看界面,用户可以及时查看每个消息的生产明细。日志界面提供了【开始】按钮,与生产消息界面的【开始】按钮功能雷同。
https://i-blog.csdnimg.cn/direct/1f32571f62644a2dab4b717070ffd0b5.png
当日志内容过多时,用户可以点击【清空日志】来整理当前日志内容。点击【保存为文件】可以将当前日志内容保存为log文件。假如未手动保存日志纪录,程序会在可执行目录下的Log/LogInfo文件夹中保存全部执行的日志纪录。
https://i-blog.csdnimg.cn/direct/62ff78f416f847a98cdefdb5d4b9d22f.png
最后,我们分别使用RabbitMQ Assistant 工具和RabbitMQ的管理端查看一下,可以看到确实是发送乐成了。
https://i-blog.csdnimg.cn/direct/3726659fe12b445e8c316e0954408cc8.png
https://i-blog.csdnimg.cn/direct/06e7c0fc543b42d8bb276194f22137a0.png
3. 总结

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

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: RabbitMQ自动发送消息工具(自动化测试RabbitMQ)