首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >RabbitMQ-队列 (Queues)

RabbitMQ-队列 (Queues)

作者头像
运维小路
发布2025-06-20 10:30:58
发布2025-06-20 10:30:58
920
举报
文章被收录于专栏:运维小路运维小路

运维小路

一个不会开发的运维!一个要学开发的运维!一个学不会开发的运维!欢迎大家骚扰的运维!

351篇原创内容

公众号

图片
图片

中间件,我给它的定义就是为了实现某系业务功能依赖的软件,包括如下部分:

Web服务器

代理服务器

ZooKeeper

Kafka

RabbitMQ(本章节)

前面的内容,我们介绍了虚拟主机(vhost),但是它只是一个逻辑概念,它必须配合对应的交换机(Exchange),队列(Queue),绑定(Binding)才能具体使用,今天我们再来讲解队列。

队列(Queues)。它是消息传递模型中的目的地,消息最终被存储在这里,等待消费者应用程序来获取和处理。

一、队列的本质:异步缓冲器

想象一个繁忙的快递分拣中心:

  • 生产者(Producer) 是发货方(如电商系统生成订单)
  • 队列(Queue) 是临时仓库(存储待派送包裹)
  • 消费者(Consumer) 是快递员(处理订单配送)

队列的核心作用是解决生产与消费速度不匹配的问题。生产者无需等待消费者处理,只需将消息“扔”进队列即可返回,

二、消息队列的核心功能

  1. 异步解耦:生产者与消费者无需相互感知示例用户注册后,注册服务发消息到队列,邮件服务异步消费发送欢迎邮件,无需阻塞主流程。
  2. 流量削峰:突发流量写入队列,消费者平稳处理避免后端服务被压垮典型场景:秒杀系统、日志收集。
  3. 数据持久化:消息持久化到磁盘(如 RabbitMQ 的 msg_store)即使服务重启,消息不丢失(需配置持久化队列+持久化消息)。
  4. 顺序保证:单队列内遵循 FIFO(先进先出)优先级队列支持按权重处理(如 VIP 订单优先)。
  5. 负载均衡:多个消费者并发消费同一队列自动分配消息,最大化资源利用率。

二、队列管理

图片
图片

1.队列和交换机一样也会属于某个交换机。

2.队列的类型(Classic是最常用的队列),不同类型的队列具有不同的属性。

3.队列的名字。

4.是否持久化(Durability代表持久化,重启以后还在)。

5.是否自动删除,当最后一个消费者断开连接时,队列将被自动删除。

其中第四和第五两个组合到一起可以使用,加上我们后面讲的内存节点,就可以适合哪些临时对性能要求比较高的应用。

当然下面还有一堆参数可以对这个队列进行额外附加功能,部分参数将在后面的部分章节进行讲解。

我们已经完成了虚拟主机,交换机,队列的创建,交换机是属于某个虚拟主机,队列也属于某个虚拟主机,但是他们之前还没有办法产生交集,还是平行的两条线,类似下图这样。也是我们下个小节要讲解的内容。

图片
图片
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-06-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 运维小路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、队列的本质:异步缓冲器
  • 二、消息队列的核心功能
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档