0

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

FrontendWebServer -> MiddlewareServer

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

FrontendWebServer -> LoadBalancer(F5) -> MiddlewareServer

FrontendWebServer -> LoadBalancer(F5) -> MiddlewareServer

这对 URL 很有效,但是因为我们需要为 MSMQ 使用机器名称,所以我们被卡住了。

我们不想在每个前端配置中指定物理中间件机器名称(因为它使管理配置变得更加困难,并且如果一个中间件服务器出现故障,它也会停止向其特定前端发送消息)。

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

有什么想法可以在不使用单独配置的情况下解决这个问题吗?

4

1 回答 1

0

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

如果将该集群设置为 Distributor,则可以在其后面添加多个 Worker 节点以进一步进行负载平衡。同样在这种情况下,还要参考集群队列名称(queue@ClusterName)。

于 2011-11-17T13:48:06.227 回答