rabbitMQ入门指南:管理页面全面指南及实战操作

这篇具有很好参考价值的文章主要介绍了rabbitMQ入门指南:管理页面全面指南及实战操作。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 引言

  在前一篇文章在centos stream 9环境中部署和使用rabbitMQ,我们已经详细介绍了如何在CentOS下安装和配置RabbitMQ,我们不仅启动了RabbitMQ服务,还通过插件安装了管理后台,并且登陆到管理页面。
  RabbitMQ管理后台提供了一个直观的用户界面,允许我们查看和管理RabbitMQ服务器的各种方面。包括查看消息队列状态,管理交换机,设置用户权限,监控服务器状态等等。现在,我们将开始探索RabbitMQ的管理后台。
下面是登陆到管理后台的预览页面:
rabbitmq管理页面,rabbitmq,工具配置,实战指南,java-rabbitmq,rabbitmq,分布式

2. RabbitMQ 管理页面的概览

RabbitMQ的管理页面是一个内置的、基于web的用户界面,允许用户查看和管理RabbitMQ服务器的状态和行为。

登录RabbitMQ管理页面后,会看到以下几个主要部分:

  1. Overview: 这个页面显示了RabbitMQ服务器的一般信息,例如节点的名字、状态、运行时间等。

  2. Connections: 在这里,可以查看、管理和关闭当前所有的TCP连接。

  3. Channels: 这个页面展示了所有当前打开的通道以及它们的详细信息。

  4. Exchanges: 可以在这里查看、创建和删除交换机。

  5. Queues: 这个页面展示了所有当前的队列以及它们的详细信息。

  6. Admin: 在这里,可以查看系统中所有的操作用户。

在接下来的章节中,我们将详细介绍这些功能,并通过实际操作例子进行演示。

3. 探索 RabbitMQ 管理页面的主要功能

在本章节中,我们将深入探讨RabbitMQ管理页面的主要功能,包括连接通道交换机队列生产者消费者的管理。

3.1 连接

在RabbitMQ的管理页面中,“Connections” 部分列出了所有当前的TCP连接。每个连接都关联了它的详细信息,如用户、主机、运行状态等。
rabbitmq管理页面,rabbitmq,工具配置,实战指南,java-rabbitmq,rabbitmq,分布式

3.2 通道

“Channels” 页面列出了所有当前的通道。通道在RabbitMQ中扮演着重要的角色,所有的消息发布和接收都是通过通道进行的。
rabbitmq管理页面,rabbitmq,工具配置,实战指南,java-rabbitmq,rabbitmq,分布式

3.3 交换机

在 “Exchanges” 页面,你可以查看所有的交换机。交换机是RabbitMQ消息路由的重要组成部分,它决定了消息如何被路由到正确的队列。
rabbitmq管理页面,rabbitmq,工具配置,实战指南,java-rabbitmq,rabbitmq,分布式

3.4 队列

在 “Queues” 页面,你可以查看所有当前的队列。队列是RabbitMQ的核心,它保存了所有待处理的消息。
rabbitmq管理页面,rabbitmq,工具配置,实战指南,java-rabbitmq,rabbitmq,分布式

3.5 生产者

RabbitMQ管理页面并没有一个专门的页面来显示所有的生产者,因为生产者在RabbitMQ中是无状态的。但是,你可以通过查看 “Exchanges” 页面来了解消息被发布的情况。

3.6 消费者

在 “Admin” 页面,你可以查看所有当前服务的所有操作用户,并提供了添加用户和授予虚拟机的功能等。(右侧还可以切换其他的功能,下面章节用到的时候会说明)
rabbitmq管理页面,rabbitmq,工具配置,实战指南,java-rabbitmq,rabbitmq,分布式

4. RabbitMQ 的实战例子

在本章节中,我将通过实际的操作示例来演示如何使用RabbitMQ管理页面。

4.1 创建虚拟机

  在RabbitMQ中,虚拟机(Virtual Host)是一种逻辑分区机制,用于将RabbitMQ资源进行逻辑隔离和管理。每个虚拟机都是一个独立的消息代理环境,拥有自己的交换机、队列、绑定和权限。

虚拟机提供了一种将应用程序或用户分组和隔离的方式。不同的应用程序或用户可以在各自的虚拟机中操作和管理自己的消息队列,而不会影响其他虚拟机中的队列。

每个虚拟机都有一个名称,通过该名称可以在连接时指定要使用的虚拟主机。虚拟机名称以正斜杠(/)作为前缀,例如/v-1
打开Admin选项卡,选择右侧的Virtual Host,展开Add a new virtual host ,带红色*的是必填,即虚拟机的名称,填好点击Add virtual host即可创建虚拟机。
rabbitmq管理页面,rabbitmq,工具配置,实战指南,java-rabbitmq,rabbitmq,分布式
创建好后会列出虚拟机的状态信息:
rabbitmq管理页面,rabbitmq,工具配置,实战指南,java-rabbitmq,rabbitmq,分布式
因为我当前的登陆用户是 tom,切换到**]Users可以看到自动授予了v-1**虚拟机的权限
rabbitmq管理页面,rabbitmq,工具配置,实战指南,java-rabbitmq,rabbitmq,分布式
再RabbitMQ中,用户的操做是需要基于虚拟机授权的,点击用户的名字可以展开权限操作
rabbitmq管理页面,rabbitmq,工具配置,实战指南,java-rabbitmq,rabbitmq,分布式
另外,创建虚拟机后,还会默认给我们创建了交换机(下面的章节说明)
rabbitmq管理页面,rabbitmq,工具配置,实战指南,java-rabbitmq,rabbitmq,分布式

4.2 连接和通道

本教程因为不涉及客户端的操作,所以连接和通道不做介绍,在后面的博客中有专门使用客户端操作的讲解。

4.3 建立交换机

  在RabbitMQ中,交换机(Exchange)是消息路由的中心组件之一。它接收从生产者发送的消息,并根据一定的规则将消息路由到一个或多个队列,以便消费者可以接收并处理这些消息。
 交换机的主要作用是根据消息的路由键(Routing Key)将消息发送到合适的队列。当生产者发布消息时,会指定一个交换机和一个路由键。交换机根据规则来确定如何将消息路由到队列,这些规则定义了交换机的类型。

4.3.1 交换机类型

RabbitMQ提供了以下几种常见的交换机类型:

  • Direct(直连交换机):根据消息的路由键精确匹配将消息发送到指定队列。当消息的路由键与绑定到交换机上的队列的绑定键(Binding Key)完全匹配时,消息会被路由到相应的队列。

  • Fanout(扇形交换机):将消息广播到所有绑定到交换机的队列。无需匹配路由键,所有队列都会接收到相同的消息。

  • Topic(主题交换机):根据通配符匹配将消息路由到队列。通配符使用特殊符号"#“(表示零个或多个词)和”*"(表示一个词)来匹配路由键,允许更灵活的路由。

  • Headers(头交换机):根据消息的头部属性进行匹配路由,而不是使用路由键。在Headers交换机中,可以定义一组键值对的头部属性,并通过匹配这些属性将消息路由到队列。

4.3.2 创建一个交换机

  交换机通过绑定(Binding)与队列进行关联。绑定定义了交换机和队列之间的关系,包括交换机、队列和绑定键的组合。生产者发布消息时,指定的交换机和路由键需要与队列的绑定相匹配,才能将消息正确地路由到相应的队列中。(后面会有介绍根据不同的类型在不同场景下使用的文章)
  在上面创建虚拟机后会自动给我们创建默认的交换机,我们还可以点击Add a new exchange进行手动创建(目前管理页面是无法在创建交换机指定虚拟机的,所以通过页面创建的都是建立在/虚拟机下)
rabbitmq管理页面,rabbitmq,工具配置,实战指南,java-rabbitmq,rabbitmq,分布式

  • Name(名称):交换机的唯一标识符,用于在RabbitMQ中识别交换机。名称是必需的,并且需要是唯一的。

  • Type(类型):指定交换机的类型,决定了交换机的路由策略。常见的交换机类型有Direct、Fanout、Topic和Headers。不同类型的交换机对应不同的路由规则。

  • Durable(持久化):指定交换机是否持久化到磁盘。如果将该参数设置为true,交换机将在RabbitMQ服务器重启后仍然存在。默认情况下,交换机是非持久化的。

  • Auto-delete(自动删除):指定交换机在不被使用时是否自动删除。如果将该参数设置为true,当没有与之绑定的队列或连接时,交换机将被自动删除。默认情况下,交换机是不会自动删除的。

  • Internal(内部交换机):指定交换机是否为内部交换机。内部交换机只能被直接连接到的交换机使用,而无法通过路由键绑定到队列。该参数为可选参数,用于特定的高级使用场景。

  • Arguments参数允许在创建交换机时指定一些额外的自定义参数。这些参数可以根据特定的需求来定义交换机的行为和特性。Arguments参数是一个键值对的字典,其中键和值的类型可以是字符串、数字、布尔值等。不同的交换机类型支持不同的参数。一些常见的Arguments参数包括:

Alternate Exchange(备用交换机):指定一个备用交换机,当消息无法被路由到任何绑定的队列时,将消息转发到备用交换机。这可以提供消息的备份或延迟处理等功能。
Message TTL(消息过期时间):指定消息的生存时间(Time To Live),即消息在交换机中存储的有效期限。超过该时间的消息将被丢弃或进入死信队列。
Dead-Letter Exchange(死信交换机):指定一个死信交换机,用于处理无法被消费者成功处理的消息。当消息被拒绝、超过最大重试次数或过期时,将消息转发到死信交换机。
Queue Mode(队列模式):用于定义队列的模式,例如懒惰队列(lazy queues)模式,可以在需要时才创建队列,以减少资源消耗。
x-match:用于Topic交换机,指定如何匹配路由键和绑定键的模式,可以是任意(any)或全部(all)。

4.4 创建队列

点击页面顶部的 “Queues” 标签。这会打开一个页面,显示当前的所有队列,目前我们还没创建,所以all queues是0
rabbitmq管理页面,rabbitmq,工具配置,实战指南,java-rabbitmq,rabbitmq,分布式

4.4.1 队列类型

在 RabbitMQ 中,队列的类型主要可以分为以下几种:

  • Classic 队列:这是 RabbitMQ 最初的队列模型。这种队列类型以可靠和广泛的方式提供了多种消息交付模式,包括消息确认,消息持久化,消费者流量控制等。Classic队列也支持优先级队列、镜像队列等高级功能。然而,Classic队列在集群节点间同步消息时,可能会造成大量的磁盘和网络资源消耗。

  • Quorum 队列:Quorum 队列是 RabbitMQ 3.8 版本引入的新特性,用于替代之前版本的镜像队列。这种队列类型基于 Raft 共识算法实现,主要目标是提供更高的数据安全性和可用性。Quorum队列在处理大量消息,尤其是持久化消息时,性能更优,资源消耗更少。推荐使用这种类型。

  • Stream 队列:Stream 队列是 RabbitMQ 3.9 版本新增的功能,它提供了对消息流的支持。这种队列类型适合处理大数据工作负载和流处理,它将消息存储在磁盘上,允许消费者异步并行读取,从而提供了高吞吐量和低延迟的性能。需要注意的是,Stream 队列需要安装和启用 stream 插件。

4.4.2 创建一个队列

虚拟机选择v-1,类型选择仲裁队列,输入队列名称q1
rabbitmq管理页面,rabbitmq,工具配置,实战指南,java-rabbitmq,rabbitmq,分布式
点击Add queue创建队列
rabbitmq管理页面,rabbitmq,工具配置,实战指南,java-rabbitmq,rabbitmq,分布式
点击q1可以进去队列管理页面
rabbitmq管理页面,rabbitmq,工具配置,实战指南,java-rabbitmq,rabbitmq,分布式

4.4.3 发送消息

展开 Publish message,在Payload输入消息,点击Publish message发送消息
rabbitmq管理页面,rabbitmq,工具配置,实战指南,java-rabbitmq,rabbitmq,分布式
发送后在上面预览就可以看到队列q1中的消息统计信息
rabbitmq管理页面,rabbitmq,工具配置,实战指南,java-rabbitmq,rabbitmq,分布式
Ready:未消费的消息数量
Unacked:未应答的消息数量
Total:总共的消息数量(Ready+Unacked)

4.4.4 消费消息

展开Get messages,应答模式有:
Nack message requeue true:不应答并且将消息重新入队
Automatic ack:自动应答,稍后消息就被删除
Reject requeue true:将消息拒绝并重新入队
Reject requeue false:将消息拒绝但不重新入队,即丢弃消息
这里我选择自动应答
rabbitmq管理页面,rabbitmq,工具配置,实战指南,java-rabbitmq,rabbitmq,分布式
点击**Get Message(s)**获取消息
rabbitmq管理页面,rabbitmq,工具配置,实战指南,java-rabbitmq,rabbitmq,分布式
再获取一次,可以看到已经消费的消息不会再出现
rabbitmq管理页面,rabbitmq,工具配置,实战指南,java-rabbitmq,rabbitmq,分布式

5. 总结

  本文提供了一份全面的 RabbitMQ 入门指南,专注于 RabbitMQ 管理页面的详细介绍和实战操作。可以通过本文了解 RabbitMQ 管理页面的主要功能,包括连接、通道、交换机、队列、生产者和消费者。本文提供的实战例子展示了如何在 RabbitMQ 中创建虚拟机、建立连接和通道,并创建和配置交换机、队列,以及发送和消费消息。旨在帮助初学者深入理解 RabbitMQ 的管理页面,并提供实用的操作示例。希望你能从本文中获得有关 RabbitMQ 管理页面的相关指导。文章来源地址https://www.toymoban.com/news/detail-651650.html

到了这里,关于rabbitMQ入门指南:管理页面全面指南及实战操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • RabbitMQ入门指南

    提供了系统之间的异步调用,比如一个支付功能,用户在支付完成之后,会去数据库中执行后续操作,然后更新支付状态,会生成订单信息,如果后续还需要添加功能,就需要去业务逻辑中修改代码,这样就会出现业务耦合。同时想要执行后续操作,需要等待支付功能完成,

    2024年02月21日
    浏览(33)
  • 一文读懂SpringMVC:从入门到精通的全面指南

    目录 一、什么是SpringMVC 二、SpringMVC的请求流程 三、SpringMVC的优点 四、Spring MVC的主要组件 五、SpringMVC常用注解 六、入门案例演示 6.1.添加pom.xml 6.2.创建spring-mvc.xml 6.3.配置web.xml 6.4.SpringMVC配置Web 6.5.JSP页面编写  七、扩展 7.1.SpringMVC框架中乱码问题 7.1.静态资源处理 ​ Spring

    2024年02月09日
    浏览(29)
  • Python单元测试之道:从入门到精通的全面指南

    在这篇文章中,我们会深入探讨Python单元测试的各个方面,包括它的基本概念、基础知识、实践方法、高级话题,如何在实际项目中进行单元测试,单元测试的最佳实践,以及一些有用的工具和资源 测试是软件开发中不可或缺的一部分,它能够帮助我们保证代码的质量,减少

    2024年02月16日
    浏览(26)
  • 『RabbitMQ』入门指南(安装,配置,应用)

    RabbitMQ 是在 AMQP (Advanced Message Queuing Protocol) 协议标准基础上完整的,可复用的 企业消息系统 。它遵循 Mozilla Public License 开源协议,采用 Erlang 实现的工业级的消息队列(MQ)服务器,建立在 Erlang OTP 平台上(因为采用 Erlang 开发,所以 RabbitMQ 稳定性和可靠性比较高 ) 其他主

    2024年02月05日
    浏览(28)
  • 软件测试|Django 入门:构建Python Web应用的全面指南

    引言 Django 是一个强大的Python Web框架,它以快速开发和高度可扩展性而闻名。本文将带您深入了解Django的基本概念和核心功能,帮助您从零开始构建一个简单的Web应用。 什么是Django? Django 是一个基于MVC(模型-视图-控制器)设计模式的Web框架,旨在简化Web应用程序的开发过

    2024年02月02日
    浏览(39)
  • imgaug库图像增强指南(38):从入门到精通——图像卷积的全面解析

    在深度学习和计算机视觉的世界里, 数据是模型训练的基石 ,其质量与数量直接影响着模型的性能。然而,获取大量高质量的标注数据往往需要耗费大量的时间和资源。正因如此,数据增强技术应运而生,成为了解决这一问题的关键所在。而 imgaug ,作为 一个功能强大的图

    2024年01月25日
    浏览(29)
  • 图像处理实战01-OpenCV 入门指南

    OpenCV是一个强大的计算机视觉库,它可以用于处理图像和视频数据,以及进行目标检测和跟踪等任务。,将学会如何使用Python编写OpenCV代码来进行基础和进阶的图像处理和分析。 学习OpenCV可以帮助你掌握基本的图像处理技术,包括图像读取和处理、阈值处理、形态学函数、模

    2024年02月11日
    浏览(35)
  • Python 包管理器入门指南

    PIP 是 Python 包管理器,用于管理 Python 包或模块。注意:如果您的 Python 版本是 3.4 或更高,PIP 已经默认安装了。 一个包包含了一个模块所需的所有文件。模块是您可以包含在项目中的 Python 代码库。 在命令行中导航到 Python 脚本目录的位置,然后输入以下命令:示例 检查

    2024年02月06日
    浏览(28)
  • 自然语言处理2——轻松入门情感分析 - Python实战指南

    情感分析是一项强大的数据分析工具,它能够帮助我们深入理解文本背后的情感色彩。在企业和社交媒体中,情感分析被广泛应用,以洞察用户的情感倾向,改善产品和服务,提升用户体验。本篇博客将带您轻松入门情感分析,使用Python中常见的情感分析库进行实战指南。

    2024年02月03日
    浏览(39)
  • 从入门到精通:AI绘画与修图实战指南

    💂 个人网站:【 海拥】【神级代码资源网站】【办公神器】 🤟 基于Web端打造的:👉轻量化工具创作平台 💅 想寻找共同学习交流的小伙伴,请点击【全栈技术交流群】 在这篇文章中,我们将深入探讨如何利用Photoshop和Firefly等工具进行AI绘画与修图。我们将从基础知识开始

    2024年02月21日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包