NServicebus处理多个队列

时间:2019-03-19 13:35:24

标签: .net-core nservicebus

我们正在单个队列上处理一堆消息,看起来都很不错。几个处理程序将解决这个问题。但是,现在我们要解决的情况是,我们需要同步处理来自一个用户的消息。在消息开始时,我不知道是什么,以及是否会有来自该用户的新消息。

所以用例; -用户完成步骤1 =>需要同步执行3个任务。 -用户一个完成了步骤2 =>需要同步执行新的5个任务(由于数据同步问题,请确保先前的任务也已完成)。 -用户二完成步骤1 =>需要同步执行3个任务。 -与第2步相同。

在整个用户中,它可以异步完成,但是在单个用户中,它需要同步完成。 NServiceBus是否可能?如果是这样,最佳方法是什么?什么是最佳方法?

谢谢

1 个答案:

答案 0 :(得分:3)

NServiceBus设计用于异步消息传递。如果需要确保每个用户的操作顺序确定,则不会同步执行。取而代之的是,您可以研究能够协调工作的NServiceBus的Saga feature。 Saga将协调其他处理程序完成的工作并协调步骤。

还有一个tutorial可能是一个很好的起点。