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

55次阅读

共计 442 个字符,预计需要花费 2 分钟才能阅读完成。

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 参数
正文完
 0