RabbitMQ: 如何过滤重试的消息?

RabbitMQ的listener消费消息过程中异常的话,该消息会投入队列重试,但是有的时候我希望有一些消息不被重试,但是不能提前预先知道哪些。所以我希望能手动过滤这些重试消息,让其不要重试,有没有什么方法可以做到。譬如手工消费所有重试消息,如果不是我想要过滤的消息就投入队列重试,需要过滤的就抛弃掉。如何手工做到呢?

阅读 3.6k
3 个回答

手动ack掉

新手上路,请多包涵

消息持久化到数据库,消费之后更改消息id状态,重复消息自动过滤

消费消息过程中异常,消息进入死信队列,消费端获取消息,不需重试的消息ack掉,需要重试的消息重新投递到原队列,是否需要重试的规则需要根据需求来定义

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题