[英]MassTransit, RabbitMQ - FIFO dequeue support
我试图证明MassTransit以与Rabbitmq接收消息相同的顺序(FIFO)传递消息。 到目前为止,我还没有运气。 MT似乎随机地将消息传递到队列之外。 我尝试将这两个总线配置选项都设置为1:
SetConcurrentReceiverLimit()SetConcurrentConsumerLimit()
...似乎没有什么不同。
如何确保通过MassTransit传递FIFO?
还需要使用RabbitMQ进行预取。 MassTransit的封顶消息速率为10,显示了在队列URI上使用预取配置的示例。
如果将ConcurrentConsumerLimit设置为1(默认情况下,接收器限制为1),并在URI上设置prefetch = 1, 则应假定FIFO传递顺序(假定未引发任何使用者异常)。 坦白地说,即使预取> 1(出于性能考虑,这很重要),它也应该是有序的。
另外,如果您使用一些示例代码来执行此操作,请发布示例代码,并确保您的生产者和使用者进程正在侦听单独的队列。
x.ReceiveFrom(uri) // uri should be unique per bus instance
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.