1.Message TTL

message在队列queue中可以存活多长时间,以毫秒为单位;发布的消息在queue时间超过了你设定的时间就会被删除掉。

channel.queueDeclare("test", true, false, false, new HashMap<String, Object>());

2.Auto expire

auto expire  设置当前的queue在指定的时间内,没有consumer、basic.get也就是未被访问,就会被删除。

3.MaxLength与MaxLength bytes

Max Length(x-max-length): 限定队列的消息的最大值长度,超过指定长度将会把最早的几条删除掉, 类似于mongodb中的固定集合,例如保存最新的100条消息, Feature=Lim

Max Length Bytes(x-max-length-bytes): 限定队列最大占用的空间大小, 一般受限于内存、磁盘的大小, Features=Lim B

Dead letter exchange(x-dead-letter-exchange): 当队列消息长度大于最大长度、或者过期的等,将从队列中删除的消息推送到指定的交换机中去而不是丢弃掉,Features=DLX

4.dead letter exchange与dead letter routingkey

就像上面的messagettl,maxlength等。消息因为超时或超过限制在队列里消失,这样我们就丢失了一些消息,也许里面就有一些是我们做需要获知的。而rabbitmq的死信功能则为我们带来了解决方案。设置了dead letter exchange与dead letter routingkey(要么都设定,要么都不设定)那些因为超时或超出限制而被删除的消息会被推动到我们设置的exchange中,再根据routingkey推到queue中

Dead letter exchange(x-dead-letter-exchange): 当队列消息长度大于最大长度、或者过期的等,将从队列中删除的消息推送到指定的交换机中去而不是丢弃掉,Features=DLX

Dead letter routing key(x-dead-letter-routing-key):将删除的消息推送到指定交换机的指定路由键的队列中去, Feature=DLK

5.Lazy Queue

lazy queue是在3.6.0版本被引入的,lazy queue的信息尽可能的都保存在磁盘上,仅在消费者请求的时候才会加载到RAM中。

使用默认的queue,并且消息不持久化的话,都是放在RAM中的。当消息峰值的时候,大量的消息在RAM导致rabbitmq服务器压力过大,当RAM使用量到一定数字的时候就会因为压力把数据移到硬盘中,但是不要嗨皮,rabbitmq服务器重启后消息一样会丢失。而且过大的压力可能会出现各种各样的异常情况,这并不是我们想要看到的。

6.Master locator(x-queue-master-locator)

最新文章

  1. css 文字超出部分显示省略号(原)
  2. SQL Server快捷键
  3. FineReport如何连接和使用MongoDB数据库
  4. OSG的节点访问
  5. pager分页框架体会
  6. 最小二乘拟合(转)good
  7. oracle 表复制
  8. JavaWeb(二)会话管理之细说cookie与session
  9. vue打包后不使用服务器直接访问方法
  10. BFPRT算法
  11. HttpUtility.UrlEncode()关于空格的编码问题
  12. 51nod 1387 移数字
  13. 基于C++的成功-失败法演示
  14. [R] [Johns Hopkins] R Programming -- week 3
  15. Ubuntu18.04安装Guake下拉式终端
  16. 安装win7出现安装程序无法创建新的系统分区
  17. 怎样让DBGrid在按住Shift点鼠标的同时能将连续范围的多行选中?
  18. UGUI之Scrollbar使用
  19. c#关于字符串格式化
  20. 初步了解hg19注释文件的内容 | gtf

热门文章

  1. leetcode46. Permutations 、47. Permutations II、 剑指offer字符串的排列
  2. vue v-for 遍历循环时的key值的报错
  3. 深入浅出的webpack4构建工具---webpack+vue+router 按需加载页面(十五)
  4. PAT A1147 Heaps (30 分)——完全二叉树,层序遍历,后序遍历
  5. springadmin环境搭建
  6. linux中断源码分析 - 中断发生(三)
  7. CF1110E Magic Stones 差分
  8. 对int array进行排序
  9. 初始化应用程序数据ng-init指令
  10. 一个有趣的问题——HTTP是“超文本传输协议”还是“超文本转移协议”