我正在使用MassTransit和RabbitMQ开发一个微服务系统。 一个服务可以将作业发布到许多订户服务。 其中一个订阅者将执行该作业(竞争消费者)。
如果一个订阅者使用消息,执行作业并抛出异常,是否有任何方法可以将消息重新传递到队列,以便其他订阅者可以使用该消息。 < / p>
我为订阅者使用重试策略,但它只允许我在同一订阅者中重新使用该消息,而不是由另一个订阅者使用。
答案 0 :(得分:1)
您可以安排重新发送邮件:
http://masstransit-project.com/MassTransit/usage/scheduling/redeliver.html
您需要有一个消息调度程序,或者在RabbitMQ中使用延迟交换。通常不建议立即重试,但您可以将重新传递计时器设置为您想要的任何内容。