每当我无法处理RabbitMQ中的事件/消息时,我都会将其存储到MongoDB中以进行自动和/或手动重试。问题是如何从MongoDB启用自动重试机制。我如何有效地收听MongoDB?将失败的事件/消息预先存储在MongoDB中是否很好?还是应该创建错误队列,以便在自动重试失败时可以侦听失败的事件/消息,将消息推送到MongoDB进行手动重试?还有其他建议吗?
我的目的是为失败的RabbitMQ事件/消息设计有效的重试机制
答案 0 :(得分:0)
这是dead-letter exchanges
的典型用例。
任何队列都可以与死信交换关联。消费者由于某种原因而无法处理消息,因此可以拒绝给定消息。该消息将被路由到常规交易的死信交换。因此,您可以在死信中应用任何路由策略。