RabbitMQ消息队列:安装与控制台操作 一、什么是 RabbitMQRabbitMQ 是一个基于Erlang语言开发的开源消息通信中间件实现了AMQP高级消息队列协议标准。它的核心功能是异步通信允许生产者和消费者之间通过队列传递消息从而实现系统解耦、流量削峰和任务异步处理。二、RabbitMQ 核心架构概念在正式操作之前我们先来熟悉 RabbitMQ 的几个核心概念这些是理解后续所有操作的基础。概念说明Publisher生产者发送消息的一方Consumer消费者接收并处理消息的一方Queue队列存储消息的缓冲区生产者投递的消息暂存于此等待消费者拉取Exchange交换机负责消息路由决定将生产者发送的消息投递到哪个队列Virtual Host虚拟主机提供隔离环境每个虚拟主机拥有独立的 Exchange、Queue 和权限体系 架构示意图一个 Exchange 可以绑定多个 Queue一个 Queue 也可以绑定多个 Exchange。三、快速安装Docker 方式使用 Docker 可以快速搭建 RabbitMQ 环境尤其适合开发和测试阶段。3.1 拉取镜像并运行执行以下命令启动一个带管理控制台的 RabbitMQ 容器docker run \ -e RABBITMQ_DEFAULT_USERitheima \ -e RABBITMQ_DEFAULT_PASS123321 \ -v mq-plugins:/plugins \ --name mq \ --hostname mq \ -p 15672:15672 \ -p 5672:5672 \ --network hmall \ -d \ rabbitmq:3.8-management3.2 端口说明端口用途15672RabbitMQ 管理控制台 Web 访问端口5672消息收发AMQP 协议端口安装完成后浏览器访问http://你的IP:15672使用上面配置的用户名和密码登录即可。四、管理控制台初探登录后你会看到如下总览页面页面顶部有五个核心选项卡Overview全局概览连接数、队列数、消息速率等Connections查看当前客户端连接Channels查看通道状态Exchanges管理交换机Queues管理队列Admin用户和虚拟主机管理五、实战收发消息完整流程接下来我们通过控制台完整走一遍消息发送与接收的流程。5.1 查看已有交换机切换到Exchanges选项卡可以看到系统默认创建了多个交换机如amq.direct、amq.fanout、amq.topic等。 这些交换机在安装时自动生成用于不同路由模式。5.2 创建队列切换到Queues选项卡点击Add a new queue参数示例值说明Virtual host/队列所属虚拟主机TypeClassic队列类型Namehello.queue1队列名称DurabilityDurable持久化重启后保留Auto deleteNo是否自动删除以同样的方式再创建一个hello.queue2。5.3 绑定交换机和队列交换机本身不存储消息它只负责将消息路由到绑定的队列。因此我们需要手动建立绑定关系。进入Exchanges→ 点击amq.fanout交换机切换到Bindings选项卡在Add binding from this exchange区域填写To queuehello.queue1Routing key*fanout 类型忽略该字段点击Bind重复步骤将hello.queue2也绑定到该交换机。5.4 发送消息再次进入amq.fanout交换机详情页切换到Publish message选项卡Routing key留空或填写任意值fanout 不关心Payload填写消息内容例如hello world点击Publish message发送。5.5 查看消息到达回到Queues页面可以看到hello.queue1和hello.queue2的Ready列都变成了1说明消息已成功到达两个队列。点击队列名称进入详情页再点击Get messages即可查看和消费消息。六、数据隔离Virtual Host 与用户管理在企业实际应用中多个项目往往共用一套 RabbitMQ 集群。为了保证数据安全和环境隔离我们需要借助Virtual Host和用户权限管理。6.1 用户管理在Admin→Users页面可以看到当前所有用户。每个用户具备不同的Tags角色标签其中administrator为超级管理员。‍ 最佳实践为每个项目创建独立用户限制其仅能访问对应的 Virtual Host。6.2 创建 Virtual Host以管理员身份登录后进入Admin→Virtual Hosts点击Add a new virtual host填写名称如/hmall创建后再回到Users页面可以为特定用户配置该虚拟主机的访问权限。6.3 切换 Virtual Host 观察隔离效果右上角点击 Virtual Host 下拉菜单切换为/hmall再进入Queues页面你会发现之前的hello.queue1等队列已不可见。✅ 这说明 Virtual Host 实现了完美的环境隔离不同项目之间的 Exchange 和 Queue 互不干扰。七、核心概念深度梳理 交换机类型Exchange Types类型说明Direct精确匹配 Routing Key点对点Fanout广播模式消息发送给所有绑定队列Topic通配符匹配 Routing Key灵活路由Headers根据消息 Headers 属性匹配较少使用 队列核心参数参数作用Durable持久化队列Broker 重启后队列依然存在Auto Delete自动删除当最后一个消费者取消订阅后删除队列Message TTL消息存活时间超时自动删除Max Length队列最大消息数量超出后移除头部消息Dead Letter Exchange死信交换机处理无法消费的消息

相关新闻

最新新闻

SerenityOS 命令行选项解析指南:getopt 与 getopt_long 用法、返回值与底层实现

SerenityOS 命令行选项解析指南:getopt 与 getopt_long 用法、返回值与底层实现

SerenityOS 命令行选项解析指南:getopt 与 getopt_long 用法、返回值与底层实现 【免费下载链接】serenity The Serenity Operating System 🐞 项目地址: https://gitcode.com/GitHub_Trending/se/serenity 导读 本文以 getopt(3) 手册 为核心&a…

2026/10/1 19:32:24
轻量服务器还是ECS?大促云服务器选购与避坑实战指南

轻量服务器还是ECS?大促云服务器选购与避坑实战指南

每年大促节点,群里永远有人在问同一个问题:“38元的轻量服务器到底怎么抢?为什么我每次点进去都是已售罄?68元直购和99元的ECS我到底选哪个?”作为一个常年帮团队和自己采购云服务器的老用户,我太清楚这种纠…

2026/9/30 21:32:07
为 AI 代理的 Review 动作编写 Cedar 审批门控策略:review-agent-governance 策略编写实战指南

为 AI 代理的 Review 动作编写 Cedar 审批门控策略:review-agent-governance 策略编写实战指南

为 AI 代理的 Review 动作编写 Cedar 审批门控策略:review-agent-governance 策略编写实战指南 【免费下载链接】agents Multi-harness agentic plugin marketplace for Claude Code, Codex, Cursor, OpenCode, GitHub Copilot, and Google Antigravity 项目地址:…

2026/9/30 19:41:56
PaddleOCR 手写数学公式识别算法 CAN 实战指南:Counting-Aware Network 训练、评估与推理部署

PaddleOCR 手写数学公式识别算法 CAN 实战指南:Counting-Aware Network 训练、评估与推理部署

PaddleOCR 手写数学公式识别算法 CAN 实战指南:Counting-Aware Network 训练、评估与推理部署 【免费下载链接】PaddleOCR Turn any PDF or image document into structured data for your AI. A powerful, lightweight OCR toolkit that bridges the gap between i…

2026/10/1 19:32:23
Spring源码解析:构造器注入的类型转换与候选匹配机制

Spring源码解析:构造器注入的类型转换与候选匹配机制

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 19:32:35
openai-agents-python 多模型接入指南:深入解析 AnyLLMModel 适配层与 any-llm 路由

openai-agents-python 多模型接入指南:深入解析 AnyLLMModel 适配层与 any-llm 路由

openai-agents-python 多模型接入指南:深入解析 AnyLLMModel 适配层与 any-llm 路由 【免费下载链接】openai-agents-python A lightweight, powerful framework for multi-agent workflows 项目地址: https://gitcode.com/GitHub_Trending/op/openai-agents-pyth…

2026/9/30 21:32:11

日新闻

周新闻

月新闻