1

我在 nServicebus 组中有同样的问题。我没有得到支持此功能的确切答案。我喜欢把它贴在这里看看 SO 社区的想法。

http://tech.groups.yahoo.com/group/nservicebus/message/16487

我已经有处理来自分发服务器的消息的 Windows 处理器工作节点。现在我想扩展这个工作节点来处理来自另一个具有不同队列名称的分发器的消息。在查看单播总线配置时,发现只能设置一个分发器控制和数据地址。有没有办法在 NServiceBus 配置中设置多个分配器?如果您还解释了使用处理多个分销商的利弊,那将有所帮助。

4

1 回答 1

2

听起来您可能正在使用 NServiceBus 2.x,因为在 NServiceBus 3.0 中,Distributor 的故事发生了很大变化。

在 NServiceBus 2.x 下,您通常会设置多个端点,它们都与同一个分发服务器通信。这些端点成为工作节点,分发器根据每个工作节点报告的空闲线程来分配它们之间的工作。

因此,如果您有由 X.Worker@Server1 和 X.Worker@Server2 处理的进入队列 X 的消息负载,那么您为什么希望 X.Worker 实例之一来处理即将到来的消息对我来说没有意义进入队列 Y?

相反,您应该(通常)为每个逻辑服务设置一个 Distributor。这类似于 HTTP 流量的网络负载均衡器。然后它后面的端点充当工作节点。您可以为另一个逻辑服务设置第二个分发器,它有自己的工作节点。

现在,说了这么多,在 NServiceBus 3.x 中,分发器与端点集成在一起。因此,您从一个配置为主节点的端点开始。基本上,它充当分销商和工人。然后要向外扩展,您只需以 Worker 角色站起更多节点,指向主节点以获取它们的工作。

在这种情况下,(通常)没有独立的分销商。这就是为什么我猜你指的是V2。

于 2012-10-16T22:13:49.370 回答