每个租户的NServiceBus队列

时间:2017-10-12 02:34:46

标签: nservicebus

我有一个多租户网络应用,其中使用MSMQ将消息发送到NServiceBus端点。

我遇到的问题是,有时一个租户可能会执行批处理操作,并且端点会受到来自这个租户的消息的影响。然后,来自其他租户的后续消息将备份到消息队列中,直到端点最终到达它们。

我想要做的是更改架构,以便每个租户都有一个队列。在发送方,这个代码更改很简单... bus.Send方法可以指定每个租户的队列名称......并且不需要进行任何更改以容纳其他租户。

但我不知道接收方会做出什么改变。据我了解NServiceBus Endpoint配置,每个端点只能侦听一个传入的MSMQ队列。这告诉我,我必须拥有我的端点处理应用程序的多个实例...每个租户队列一个。这种方法不具备可扩展性 - 它要求开发人员在每个新租户注册时手动添加新实例。

  1. 有没有办法通过某种自动化实现这一目标?

  2. 单个EndPoint处理应用程序是否可以监控多个队列。

  3. 如果是这样(因为我们知道NSB配置包含逻辑) 创建一个在启动时不存在的队列)可以用它 每个新租户签名后,在启动后创建一个新的每个租户队列 吗?

  4. 我想这只是对遇到类似问题的人提出的建议的呐喊。

0 个答案:

没有答案