【问题标题】:What is the best approach for dealing with RabbitMQ DLQ messages in Spring AMQP在 Spring AMQP 中处理 RabbitMQ DLQ 消息的最佳方法是什么
【发布时间】:2021-07-22 13:29:05
【问题描述】:

我正在使用 Spring AMQP 来监听 RabbitMQ 队列。在侦听队列时,根据业务逻辑,我的服务可能会抛出 RuntimeException,在这种情况下,消息将重试几次。最大计数重试后,消息将保留在 DLQ 中。我想知道,在 DLQ 中处理这些消息的最佳方法是什么?我从博客中读到我可以使用 ParkingLot Queue。但同样在这种情况下,如何监控队列并通知人们死信消息? 附:对不起我的英语不好。希望我能够解释我的问题:)

【问题讨论】:

    标签: rabbitmq amqp spring-amqp


    【解决方案1】:

    您可以使用 RabbitMQ REST api(Hop 客户端)来获取 DLQ 的状态。

    您也可以使用 Spring 的 RabbitAdmin.getQueueProperties("my.dlq") 来获取消息计数。

    https://docs.spring.io/spring-amqp/docs/current/reference/html/#broker-configuration

    其他选项包括在 DLQ 上添加另一个侦听器并定期运行它以将其发送回原始队列或在失败次数过多时将其发送到停车场队列。

    spring cloud stream documentation 中有一个例子。

    【讨论】:

    • 非常感谢您的帮助
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-26
    • 2021-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多