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

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 参数

发表评论

电子邮件地址不会被公开。 必填项已用*标注