我是 RabbitMQ 的菜鸟。我开始使用它,到目前为止它一直在为我的目的服务。在我的设置中应该有大约 10 个消费者。我想知道如果一条消息杀死了多个消费者/工作人员,我如何检查并删除该消息,因为我绝对不希望我的所有工作人员都因为消息损坏而失败。非常感谢任何建议,只是为了更新我正在使用 Java
问问题
45 次
1 回答
0
您需要在代码中进行某种程度的错误处理,以捕获所谓的“毒药”消息——导致问题且无法处理的消息。
为了适当地处理这个问题,您需要为您的队列设置一个死信交换(“dlx”)。当您的代码识别出错误消息时,此交换将用于捕获有害消息。
在您的错误处理代码中,当您收到有毒消息时,您将需要reject
该消息。这将告诉 RabbitMQ 通过 dlx 重新路由消息。
您的 dlx 应该具有路由设置,以根据此队列中显示的消息将毒消息发送到可以向您发送警报的队列。
于 2015-08-27T15:26:05.643 回答