使用Rebus

时间:2018-01-26 16:19:20

标签: rebus

我有消息处理的逻辑不是幂等的。因此,在执行它之前,我让每个传入的消息通过一个长的特殊数据库表来检查重复项。

例如,在RabbitMQ的情况下,如果消息被传递给消费者然后重新排队,则RabbitMQ将设置"重新传送"当它再次交付时标记在它上面。 https://www.rabbitmq.com/reliability.html#consumer

有没有办法知道在尝试失败或需要检查重复的每条消息后,rebus再次发送了什么消息?

如果无法做到这一点,通常可以快速可靠地对邮件进行重复数据删除,而不使用数据库?

1 个答案:

答案 0 :(得分:1)

  

有没有办法知道在尝试失败或需要检查重复的每条消息后,rebus再次发送了什么消息?

使用Rebus检测重新传递的消息没有通用的方法。

Rebus'RabbitMQ传输可以能够将“redelivered”标志作为特殊标头传递给消费者,但它不会(至少目前没有)。 / p>

相关问题