1. 死信交换机
(Dead-Letter-Exchange) 当消息在一个队列中由于过期,被拒绝等原因变成死信(dead message)之后,它能被重新发送到一个交换机中
这个交换机就是死信交换机,绑定死信交换机的队列就称之为死信叫交换机
2. 判断一个消息是否是死信消息的依据:
-
消息被拒绝 (msg.Reject) 并且设置requeue值设置为false
-
消息过期后,消息过期时间设置主要有两种方式
- 设置队列的过期时间,这样改队列所有的消息都存在相同的过期时间 在队列申明的时候使用
x-message-ttl
参数 单位为:毫秒
- 单独设置某个消息的过期时间,每条消息的过期时间不一样(设置消息属性的 exporation 参数的值,单位为
毫秒
- 如果同时使用了两种方式设置过期四件,以两者之间较小的那个数值为准;
- 设置队列的过期时间,这样改队列所有的消息都存在相同的过期时间 在队列申明的时候使用
-
队列已满,无法再添加消息到mq中
- 申明队列的时候设置
x-dead-letter-exchange
参数
- 申明队列的时候设置
-
备份交换机 未被正确路由的消息将会结果此交换机
- 申明交换机的时候设置
alternate-exchange
参数
- 申明交换机的时候设置
网友评论