RabbitMQ中Queue详细介绍
新建队列
新建Queue时有很多参数,都代表什么含义,在这里解释一下:
前述:Rabbit版本为3.7.6 ErLang 版本为 21.0.1
Name
必填项,队列的名字,建议格式可以为多个字段,表示队列中存放的内容,比如task.queue
Durability
是否需要持久化,有两个选项Durable(长久的)和Transient(临时的)
Auto delete
是否自动删除,如果选择yes,则消息会被其中一个消费者所消费,之后队列会自动销毁,其他消费者也会断开连接(队列都没了,连接肯定断了)。
Arguments
RabbitMQ有很多的参数可以设置
x-message-ttl:值为Number类型,表示消息在队列中的存活时间,单位为毫秒
x-expires:值为Number类型,表示队列存在的时间,单位为毫秒
x-max-length:值为Number类型,一个队列中能够存放的最多消息个数,超过设定个数之后就会从head开始丢弃消息。也就是先到的消息会先被丢弃。
x-max-length-bytes:值为String类型,队列中每个消息的最大字节数,超过设定个数之后就会从head开始丢弃消息。也就是先到的消息会先被丢弃。
x-overflow:值为String类型,设置队列溢出时的行为,可选值为drop-head或reject-publish
x-dead-letter-exchange:值为String类型,如果消息被拒绝或者过期后,消息被重新放入的exchange名称
x-dead-letter-routing-key:值为String类型,当消息dead-lettered,根据routing key 进行路由消息,如果没有设置,会使用消息的原始routing key
x-max-priority:值为Number类型,最大的消息优先级,如果不设置,则不支持消息优先级
x-queue-mode:值为String类型,如果设为lazy,则会将尽可能多的消息保存到磁盘上,减少内存的使用,如果不设置,则所有消息都放到内存,保证最快速度的分发
x-queue-master-locator:值为String类型,当在集群中时,设置队列为master location mode,会决定队列master在集群中的位置
遗留问题:
rabbitMQ与kafka的对比
SpringMVC如何支持RabbitMQ(web.xml配置)
listener中如果处理消息时出现异常,为什么会不停消费同一条消息
参考文献:
https://www.rabbitmq.com/documentation.html
https://www.rabbitmq.com/getstarted.html
https://www.cnblogs.com/frankyou/p/5283539.html
https://blog.csdn.net/u012758088/article/details/78024581
http://www.amqp.org/
RabbitMQ中Queue详细介绍的更多相关文章
- 转:Http协议中Cookie详细介绍
Http协议中Cookie详细介绍 Cookie总是保存在客户端中,按在客户端中的存储位置,可分为内存Cookie和硬盘Cookie.内存Cookie由浏览器维护,保存在内存中,浏览器关闭后就消失了, ...
- RabbitMQ基础概念详细介绍
http://blog.csdn.net/column/details/rabbitmq.html 转至:http://www.ostest.cn/archives/497 引言 你是否遇到过两个(多 ...
- Laravel 模板引擎Blade中标签详细介绍
这篇文章主要介绍了Laravel模板引擎Blade中section的一些标签的区别介绍,需要的朋友可以来看看. Laravel 框架中的Blade模板引擎很好用,但是官方文档介绍的并不详细,我接下来将 ...
- Http协议中Cookie详细介绍(转)
原文:http://www.169it.com/article/3217120921.html Cookie总是保存在客户端中,按在客户端中的存储位置,可分为内存Cookie和硬盘Cookie.内存C ...
- Http协议中Cookie详细介绍
Cookie总是保存在客户端中,按在客户端中的存储位置,可分为内存Cookie和硬盘Cookie.内存Cookie由浏览器维护,保存在内存中,浏览器关闭后就消失了,其存在时间是短暂的.硬盘Cookie ...
- typescript整合到vue中的详细介绍,ts+vue一梭子
通过vue-cli命令行安装vue项目,注意不要eslint 安装依赖 cnpm install typescript --save-dev cnpm install ts-loader --save ...
- Unity3D中GameObject 详细介绍
通过Hierarchy面板下的Create菜单可以手动地创建一个GameObject,它可以是一个相机,一个灯光,或者一个简单的模型,当我们要在程序里面动态地创建一个相机的时候,可以new一个Game ...
- RabbitMQ消息队列(一): Detailed Introduction 详细介绍
http://blog.csdn.net/anzhsoft/article/details/19563091 RabbitMQ消息队列(一): Detailed Introduction 详细介绍 ...
- RabbitMQ学习总结(1)——基础概念详细介绍
一.基础概念详细介绍 1.引言 你是否遇到过两个(多个)系统间需要通过定时任务来同步某些数据?你是否在为异构系统的不同进程间相互调用.通讯的问题而苦恼.挣扎?如果是,那么恭喜你,消息服务让你可以很轻松 ...
随机推荐
- Vue creatElement
1.传统template写法 <!DOCTYPE html> <html lang="zh"> <head> <meta charset= ...
- flask-Migrate模块
功能 flask-migrate是flask的一个扩展模块,主要是扩展数据库表结构的. 官方文档:http://flask-migrate.readthedocs.io/en/latest/ 安装 p ...
- windows操作系统记事本保存操作时间、字符映射表的打开、步骤记录器使用
记事本自动记录修改时间 你有用记事本记账或写日记的习惯吗?其实在记事本的文档开头输入".LOG"(无引号,字母为大写),之后记录内容并保存,这样以后打开就会看到之前每次修改的时间了 ...
- 类matlab find函数
逻辑矩阵,找出元素1并记录其位置索引. int main(int argc, char** argv) { unsigned ][] = { , , , , , , , , , , , , , , , ...
- 内核交互--debugfs_转
转载:Linux内核里的DebugFS DebugFS,顾名思义,是一种用于内核调试的虚拟文件系统,内核开发者通过debugfs和用户空间交换数据.类似的虚拟文件系统还有procfs和sysfs等,这 ...
- ios 应用多语言自由切换实现
第一次进入应用获取本机语言.1.假设本机语言在软件实现语言列表里.则默认选中本机语言,可是用户还是能够选择其他语言.2.假设本机语言不在软件实现语言列表里,则默认选中英语.用户还是能够选择其他语言. ...
- ffmpeg中的x264编码选项,对应关系
)’ Disabled. ‘variance (1)’ Variance AQ (complexity mask). ‘autovariance (2)’ Auto-variance AQ (expe ...
- @Cache(usage = CacheConcurrencyStrategy.READ_WRITE)什么意思??
从hibernate2.1开始ehcache已经作为hibernate的默认缓存方案(二级缓存方案 sessionfactory级别), 在项目中有针对性的使用缓存将对性能的提升右很大的帮助. 要使用 ...
- 【转】在Eclipse中使用JUnit4进行单元测试(初级篇)
http://www.builder.com.cn/2007/0901/482336.shtml 首先,我们来一个傻瓜式速成教程,不要问为什么,Follow Me,先来体验一下单元测试的快感! 首先新 ...
- Android项目页面跳转小Demo
近期在做Android项目的开发,刚刚接触会有非常多新东西须要学习,从环境的搭建到语言的熟悉都是须要一步步完毕的,接下来就拿一个页面跳转的样例来和大家分享一下自己的心得体会. 採用的架构: Demo中 ...