我很肯定我错过了MassTranist和/或RabbitMQ的细微差别,但是持久(永久?)消息在队列中停留了多长时间?
我想到的情况是某种类型的事件的所有消费者都无法使用 - 显然当他们回来时,你希望他们能够根据他们的事件采取适当的行动"错过"当他们离线时。
但是,新消费者在几天/几个月/几年后开始读取同一队列的情况又如何呢?从一开始,这个消费者现在是否会参与所有活动?我几乎可以肯定,情况并非如此,但耐久性如何与时效性保持平衡?
答案 0 :(得分:0)
据我所知,MassTransit无法控制消息的生命周期。 RabbitMQ做同样的事情,因此消息将永远留在队列中。唯一的例外是请求/响应模型,您可以在其中设置您希望接受响应的超时时间。 通常,如果您需要控制生命周期,您可以在消息中存储创建时间并在消费者中进行检查。