听起来你可能正在使用NServiceBus 2.x,因为在NServiceBus 3.0中,Distributor的故事发生了很大变化 .
在NServiceBus 2.x下,您通常会设置多个 endpoints ,所有 endpoints 都与同一个分发服务器通信 . 这些 endpoints 成为工作节点,并且分发器根据每个工作节点报告何时具有空闲线程来划分它们之间的工作 .
因此,如果您有来自X.Worker@Server1和X.Worker@Server2处理的队列X的消息负载,那么为什么您希望其中一个X.Worker实例处理即将发生的消息对我没有意义进入队列Y?
相反,您应该(通常)为每个逻辑服务设置一个分发服务器 . 这类似于HTTP流量的网络负载均衡器 . 然后,它后面的 endpoints 充当工作节点 . 您可以为其他逻辑服务设置具有自己的工作节点的第二个分发服务器 .
现在,尽管如此,在NServiceBus 3.x中,分发器与 endpoints 集成在一起 . 因此,您从一个配置为主节点的 endpoints 开始 . 基本上它起着经销商和 Worker 的作用 . 然后,为了向外扩展,您只需在Worker角色中站起来更多节点,指向主节点以获得他们的工作 .
在这种情况下,(通常)没有独立经销商 . 这就是为什么我猜你指的是V2 .