前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >RabbitMQ队列和交换机的相关知识点

RabbitMQ队列和交换机的相关知识点

作者头像
郑小超.
发布2023-04-28 08:21:06
3090
发布2023-04-28 08:21:06
举报
文章被收录于专栏:GreenLeavesGreenLeaves

1、关于交换机和队列的autodelete属性

交换机的autodelete属性作用:当属性值设置为true,那么当所有的队列断开于交换机的绑定,那么交换机会自动删除

队列的autodelete属性作用:自动删除队列和普通队列在使用上没有什么区别,唯一的区别是,当所有的相关消费者断开连接时,队列将会被删除

2、关于队列的exclusive属性

排它队列,意味着队列只能被一个消费者使用

3、自动过期队列 x-expires属性

没有消费者在消费队列,会被从RabbitMQ中被删除。就算此时有消息进入队列,也会被删除。

4、队列消息自动过期

就是为每个队列设置消息的超时时间。只要给队列设置x-message-ttl 参数,就设定了该队列所有消息的存活时间,时间单位是毫秒。如果声明队列时指定了死信交换器,则过期消息会成为死信消息

5、永久队列

持久化队列和非持久化队列的区别是,持久化队列会被保存在磁盘中,固定并持久的存储,当Rabbit服务重启后,该队列会保持原来的状态在RabbitMQ中被管理,而非持久化队列不会被保存在磁盘中,Rabbit服务重启后队列就会消失。可以将交换机和队列的autodelete设置为false,且durable设置为true

注意:调用channel的BasicPublish将IBasicProperties属性中的DeliveryMode设置为持久化(2),并设置mandatory设为true,并监听BasicReturn事件,防止发送端丢失消息的情况,

这样能保证消息持久化和队列持久化同时发生作用,且交换机也需要设置持久化,防止发送方的Producer无法发送消息.且同时设置队列和交换机的autodelete为false,防止交换机和队列被意外删除的情况出现.

需要注意的时交换机的持久化不会影响队列的持久化

队列参数列表

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-04-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档