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