每个租户的NServiceBus队列

每个租户的NServiceBus队列,nservicebus,Nservicebus,我有一个多租户web应用程序,其中消息使用MSMQ发送到NServiceBus端点 我遇到的问题是,有时一个租户可能会执行一个批处理操作,而端点会受到来自这一租户的消息的限制。然后将来自其他租户的后续消息备份到消息队列中,直到端点最终到达它们 我想做的是更改体系结构,以便每个租户都有一个队列。在发送端,此代码更改将很简单…bus.Send方法可以为每个租户指定队列名称…并且无需更改即可容纳加入的其他租户 但我不知道在接收端要做什么改变。据我所知,NServiceBus端点配置,每个端点只能侦听一

我有一个多租户web应用程序,其中消息使用MSMQ发送到NServiceBus端点

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

我想做的是更改体系结构,以便每个租户都有一个队列。在发送端,此代码更改将很简单…bus.Send方法可以为每个租户指定队列名称…并且无需更改即可容纳加入的其他租户

但我不知道在接收端要做什么改变。据我所知,NServiceBus端点配置,每个端点只能侦听一个传入的MSMQ队列。这告诉我,我必须有我的端点处理应用程序的多个实例…每个租户队列一个实例。而且这种方法是不可扩展的——它需要开发人员在每个新租户注册时手动添加一个新实例

  • 有没有办法通过某种自动化来实现这一点

  • 是否有一种单一端点处理应用程序可以监视多个队列的方法

  • 如果是这样(因为我们知道NSB配置包含 创建一个启动时不存在的队列)是否可以用于 启动后,在每个新租户签名时创建一个新的每个租户队列 起来


  • 我想这只是向遇到类似问题的任何人寻求建议。

    将批处理操作消息发送到单独的端点怎么样?是的,这是我没有想到的主意。谢谢Udi。将批处理操作消息发送到一个单独的端点怎么样?是的,我没想到这个主意。谢谢你。