Advertisement

死信队列DLX(dead-letter-exchange) 死信队列DLX(dead-letter-exchange)

阅读量:

通过DLX机制,当某条消息在队列中转变为死信状态后,系统可将其重新发布至指定的Exchange,该Exchange即为DLX。消息进入死信状态通常存在以下几种情形:

  • 消息被明确拒绝(basic.reject/ basic.nack)且requeue参数设置为false
  • 消息的有效期(TTL)已到达预设时间
  • 队列容量达到设定的最大长度限制

DLX本质上属于常规的Exchange类型,其功能与普通Exchange无异,可在任意队列上进行配置。实际上,这一过程是通过设定特定队列的相关属性来实现的。当该队列中出现死信时,RabbitMQ将自动将消息转发至所配置的Exchange,并依据路由规则将其发送至对应的队列。后续可通过监听该队列中的消息执行相应的处理逻辑。

关于死信队列的配置方式:

复制代码
    exchange: dlx.exchange
    
    queue: dlx.queue
    
    routingkey:  #
    
    
      
      
      
      
      
    

接下来执行常规的声明操作,包括交换机、队列以及绑定关系的建立,唯一不同的是在队列声明时需额外添加一个参数:argument.put(“x-dead-letter-exchange”, “dlx.exchan

全部评论 (0)

还没有任何评论哟~