RabbitMQ入门6-死信和备份交换机

李昊天 · · 1076 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

1. 死信交换机

(Dead-Letter-Exchange) 当消息在一个队列中由于过期,被拒绝等原因变成死信(dead message)之后,它能被重新发送到一个交换机中
这个交换机就是死信交换机,绑定死信交换机的队列就称之为死信叫交换机

2. 判断一个消息是否是死信消息的依据:

  1. 消息被拒绝 (msg.Reject) 并且设置requeue值设置为false
  2. 消息过期后,消息过期时间设置主要有两种方式

    • 设置队列的过期时间,这样改队列所有的消息都存在相同的过期时间 在队列申明的时候使用 x-message-ttl参数 单位为:毫秒
    • 单独设置某个消息的过期时间,每条消息的过期时间不一样(设置消息属性的 exporation 参数的值,单位为毫秒
    • 如果同时使用了两种方式设置过期四件,以两者之间较小的那个数值为准;
  3. 队列已满,无法再添加消息到mq中

    • 申明队列的时候设置 x-dead-letter-exchange参数
  4. 备份交换机 未被正确路由的消息将会结果此交换机

    • 申明交换机的时候设置 alternate-exchange 参数

有疑问加站长微信联系(非本文作者)

本文来自:Segmentfault

感谢作者:李昊天

查看原文:RabbitMQ入门6-死信和备份交换机

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1076 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传