我们在开发环境中使用nServiceBus,其中有一个前端将消息发布到服务(订阅者)。生活是美好的。
FrontendWebServer -> MiddlewareServer
在我们的生产环境中,我们将运行两个前端和两个用于故障转移的中间件服务器。
FrontendWebServer -> LoadBalancer(F5) -> MiddlewareServer
FrontendWebServer -> LoadBalancer(F5) -> MiddlewareServer
这对于URL很好,但是因为我们需要为MSMQ使用机器名,所以我们被困住了。
我们不希望在每个前端配置中指定一个物理中间件机器名(因为它会使管理更加困难,而且如果一个中间件服务器崩溃,它也会停止其特定的前端消息)。
我们尝试使用nServiceBus分发服务器(安装在每个前端),但似乎订阅者只能侦听一个分发服务器。
有什么办法不用单独吐露就能解决这个问题吗?
发布于 2011-11-17 13:48:06
为了平衡负载,我会把F5推到web服务器前面。对于群集,只需引用集群服务器名称和服务,而不是单个计算机。例如,如果您有Node1和Node2,您可以调用集群NSBNode或类似的东西。
如果将该群集设置为分发服务器,则可以在其后面添加多个工作节点以进一步负载平衡。同样,在本例中,还引用集群队列名( queue @ClusterName)。
https://stackoverflow.com/questions/8160742
复制相似问题