我在nServicebus组中提出了同样的问题。我没有得到支持这个功能的坚定答案。我想在此发布,以了解SO社区的想法。
http://tech.groups.yahoo.com/group/nservicebus/message/16487
我已经拥有处理来自a的消息的Windows处理器工作节点 经销商。现在我想扩展这个worker节点来处理来自的消息 另一个具有不同队列名称的分发当我看着单播巴士时 配置,我发现只有一个分配器控制和数据地址可以 组。有没有办法在NServiceBus配置中设置多个分发服务器? 如果您还解释了使用处理多个经销商的利弊 这会有所帮助。
答案 0 :(得分:2)
听起来你可能正在使用NServiceBus 2.x,因为在NServiceBus 3.0中,Distributor的故事发生了很大变化。
在NServiceBus 2.x下,您通常会设置多个端点,所有端点都与同一个分发服务器通信。这些端点成为工作节点,并且分发器根据每个工作节点报告何时具有空闲线程来划分它们之间的工作。
因此,如果您有来自X.Worker@Server1和X.Worker@Server2处理的队列X的消息加载,那么为什么您需要其中一个X.Worker实例才对我有意义。处理进入队列Y的消息?
相反,您应该(通常)为每个逻辑服务设置一个分发服务器。这类似于HTTP流量的网络负载均衡器。然后,它后面的端点充当工作节点。您可以为其他逻辑服务设置具有自己的工作节点的第二个分发服务器。
现在,尽管如此,在NServiceBus 3.x中,分发服务器与端点集成在一起。因此,您从一个配置为主节点的端点开始。基本上它起着经销商和工人的作用。然后,为了向外扩展,您只需在Worker角色中站起来更多节点,指向主节点以获得他们的工作。
在这种情况下,(通常)没有独立经销商。这就是为什么我猜你指的是V2。