新建队列

新建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详细介绍的更多相关文章

  1. 转:Http协议中Cookie详细介绍

    Http协议中Cookie详细介绍 Cookie总是保存在客户端中,按在客户端中的存储位置,可分为内存Cookie和硬盘Cookie.内存Cookie由浏览器维护,保存在内存中,浏览器关闭后就消失了, ...

  2. RabbitMQ基础概念详细介绍

    http://blog.csdn.net/column/details/rabbitmq.html 转至:http://www.ostest.cn/archives/497 引言 你是否遇到过两个(多 ...

  3. Laravel 模板引擎Blade中标签详细介绍

    这篇文章主要介绍了Laravel模板引擎Blade中section的一些标签的区别介绍,需要的朋友可以来看看. Laravel 框架中的Blade模板引擎很好用,但是官方文档介绍的并不详细,我接下来将 ...

  4. Http协议中Cookie详细介绍(转)

    原文:http://www.169it.com/article/3217120921.html Cookie总是保存在客户端中,按在客户端中的存储位置,可分为内存Cookie和硬盘Cookie.内存C ...

  5. Http协议中Cookie详细介绍

    Cookie总是保存在客户端中,按在客户端中的存储位置,可分为内存Cookie和硬盘Cookie.内存Cookie由浏览器维护,保存在内存中,浏览器关闭后就消失了,其存在时间是短暂的.硬盘Cookie ...

  6. typescript整合到vue中的详细介绍,ts+vue一梭子

    通过vue-cli命令行安装vue项目,注意不要eslint 安装依赖 cnpm install typescript --save-dev cnpm install ts-loader --save ...

  7. Unity3D中GameObject 详细介绍

    通过Hierarchy面板下的Create菜单可以手动地创建一个GameObject,它可以是一个相机,一个灯光,或者一个简单的模型,当我们要在程序里面动态地创建一个相机的时候,可以new一个Game ...

  8. RabbitMQ消息队列(一): Detailed Introduction 详细介绍

     http://blog.csdn.net/anzhsoft/article/details/19563091 RabbitMQ消息队列(一): Detailed Introduction 详细介绍 ...

  9. RabbitMQ学习总结(1)——基础概念详细介绍

    一.基础概念详细介绍 1.引言 你是否遇到过两个(多个)系统间需要通过定时任务来同步某些数据?你是否在为异构系统的不同进程间相互调用.通讯的问题而苦恼.挣扎?如果是,那么恭喜你,消息服务让你可以很轻松 ...

随机推荐

  1. react-native + react-native-tab-navigator 实现 TabBar

    1.安装 react-native-tab-navigator yarn add react-native-tab-navigator 2.页面调用 /** * 主页面 */ import React ...

  2. C中的C文件与h文件辨析(转)

    简单的说其实要理解C文件与头文件(即.h)有什么不同之处,首先需要弄明白编译器的工作过程,一般说来编译器会做以下几个过程:       1.预处理阶段 2.词法与语法分析阶段 3.编译阶段,首先编译成 ...

  3. 【Android布局】在程序中设置android:gravity 和 android:layout_Gravity属性——位置设置偏向

    LinearLayout有两个非常相似的属性: android:gravity与android:layout_gravity. 他们的区别在于: android:gravity 属性是对该view中内 ...

  4. SkipList的实现

    当做笔记记录下来:) 相比于bTree,skiplist占用更多的空间. 而在并发的环境下skiplist会比bTree效率更高. (bTree插入的时候需要rebalance,需要lock比较多的结 ...

  5. 【BIEE】12_查看BIEE的物理SQL

    有时候,我们在使用BIEE的时候回出现一些问题,需要借助物理SQL来进行问题分析.通过物理SQL我们就可以看到BIEE在数据库中是如何去检索出数据库. 查看物理SQL的方式 [登录BIEE]--[管理 ...

  6. Win7与虚拟机Linux互通ping的网络设置

    转载请标明出处:http://www.linuxidc.com/Linux/2014-04/100450.htm 虽然从WinXP到Win7一直都可以使用VMWARE虚拟机安装Linux系统,记得每次 ...

  7. python使用单例模式创建MySQL链接

    代码: from functools import wraps import mysql.connector from sshtunnel import SSHTunnelForwarder def ...

  8. 利用HTML5 Canvas和Javascript实现的蚁群算法求解TSP问题演示

    HTML5提供了Canvas对象,为画图应用提供了便利. Javascript可执行于浏览器中, 而不须要安装特定的编译器: 基于HTML5和Javascript语言, 可随时编写应用, 为算法測试带 ...

  9. linux 实时显示文件的内容

    1. watch -n 1 aa.txt  #每个1秒显示aa.txt的内容 2. tail -f ***.log Linux shell中有一个tail命令,常用来显示一个文件的最后n行文档内容 但 ...

  10. [ci]持续集成系列

    持续集成一直很蛋疼,感觉没底. 几个方面来写 1,搭建gitlab 配邮箱 域名等使之好用 2,搭建jenkins –yum,安装常见插件 3,搭建sonar,汉化 4,安装sonar-scanner ...