MQ

发布于

AI总结: 本文介绍了RabbitMQ队列的主要参数及其描述,包括队列名称、持久化、排他性、自动删除、消息生存周期、队列定时删除、最大消息长度、最大占用空间、死信交换机及路由键、优先级队列和懒加载模式等。需要注意的是,"exclusive"参数的描述中提到的“强制访问会报异常”可能不够准确,因为在某些情况下,其他通道在队列被声明为排他时仍然可以访问队列,只要它们在同一连接中。

RabbitMQ queue(队列)参数说明

参数 描述
queue 队列名称
durable 是否持久化
exclusive 是否排外 会对当前队列加锁,其他通道channel是不能访问的,如果强制访问会报异常, 当连接被关闭或者丢失, 队列会被删除
autoDelete 是否自动删除 当最后一个订阅者被取消, 连接丢失, 队列会被删除
Message TTL(x-message-ttl) 消息的生存周期
Auto Expire(x-expires) 队列定时删除 当队列在指定的时间没有被访问就会被删除
Max Length(x-max-length) 队列的消息的最大值长度 超过指定长度将会把最早的几条消息删除掉
Max Length Bytes(x-max-length-bytes) 队列最大占用的空间大小 一般受限于内存、磁盘的大小
Dead letter exchange(x-dead-letter-exchange) 当队列消息长度大于最大长度、或者过期的等,将从队列中删除的消息推送到指定的交换机中去而不是丢弃掉
Dead letter routing key(x-dead-letter-routing-key) 将删除的消息推送到指定交换机的指定路由键的队列中去
Maximum priority(x-max-priority) 优先级队列 声明队列时先定义最大优先级值,在发布消息的时候指定该消息的优先级, 优先级更高(数值更大的)的消息先被消费,
Lazy mode(x-queue-mode=lazy) 先将消息保存到磁盘上,不放在内存中,当消费者开始消费的时候才加载到内存中