如何在故障转移群集中使用nServiceBus

时间:2011-11-17 00:42:06

标签: soa nservicebus nservicebus-distributor

我们在开发环境中使用nServiceBus,我们有一个前端向服务(订阅者)发布消息。生活很美好。

FrontendWebServer - > MiddlewareServer

在我们的生产环境中,我们将运行两个前端和两个中间件服务器进行故障转移。

FrontendWebServer - > LoadBalancer(F5) - > MiddlewareServer

FrontendWebServer - > LoadBalancer(F5) - > MiddlewareServer

这适用于网址,但由于我们需要为MSMQ使用计算机名称,因此我们遇到了问题。

我们不希望在每个前端配置中指定一个物理中间件机器名称(因为它会使管理配置变得更难,如果一个中间件服务器发生故障,它也会阻止其特定前端的消息)。

我们尝试使用nServiceBus分发服务器(安装在每个前端),但似乎订阅者只能收听一个分发服务器。

我们如何在不使用单独配置的情况下解决此问题?

1 个答案:

答案 0 :(得分:0)

我会在网络服务器前推动F5以平衡负载。对于群集,只需引用群集服务器名称和服务,而不是单个计算机。例如,如果你有Node1和Node2,你可以调用Cluster NSBNode或类似的东西。

如果您将该群集作为分发服务器,则可以在其后面添加多个Worker节点以进一步进行负载平衡。同样在这种情况下,还要引用群集队列名称(queue @ ClusterName)。