中间件速查手册
消息队列队列

Queue 是什么?

真正存消息的地方,消费者从这里取走消息

类比:家门口的信箱,信在这里等你取

它是什么

Queue 是 RabbitMQ 里唯一存消息的实体,FIFO 顺序,支持持久化、TTL、最大长度、死信交换机等属性。

多个消费者可以监听同一个队列,消息会被分摊,但一条消息只会投给一个消费者。

关键属性

队列声明时的参数一旦创建就不好改,建队列前想清楚。

  • durable:队列持久化,重启不丢(消息还要设 delivery_mode=2)
  • x-message-ttl:消息存活时间,配合死信做延迟队列
  • x-max-length:队列最大长度,满了丢弃头部或拒绝新消息
  • x-dead-letter-exchange:消费失败/过期后转到哪
  • x-queue-type: quorum:Raft 复制队列,比经典镜像队列更可靠

堆积时会怎样

经典队列默认内存优先,堆积多了会频繁换页到磁盘,吞吐骤降。高堆积场景应使用 quorum 队列或开启 lazy 模式让消息直接落盘。

它出现在这些中间件里

相关概念