【发布时间】:2011-05-07 20:48:42
【问题描述】:
我们正在迁移到 Windows 2008 R2 Standard,并将使用 Microsoft 群集(主动-被动)配置。我们的应用程序严重依赖 MSMQ 私有队列,我们的安装使用以下 C# 代码创建了超过 100 个私有队列。
MessageQueue.Create(".\private$\myqueue", false);
由于安装不在集群上下文中运行,因此队列是在本地节点上创建的,而不是在集群中。
然后我们尝试将代码更改为:
MessageQueue.Create("MYCLUSTERNAME\private$\myqueue", false);
但是,您无法在其他服务器(在本例中为集群服务器上下文)上创建专用队列,并且您会收到错误“无效的队列路径名”。
我的两个问题是: 1) 有没有办法可以在集群的上下文中运行安装,这样在创建私有队列时,它实际上会在集群中创建队列?
2) 如果不是,那么通过 .NET 在集群中创建队列的最佳方法是什么?我读过一些博客,其中人们创建了驻留在集群内的中间人 Windows 服务,然后他们的安装使用进程间通信来告诉服务要创建哪些队列。这似乎是一种 hack,但如果事实证明这是唯一的方法,它是可行的。
【问题讨论】:
-
请仔细标记。删除不正确的标签cluster-analysis(又名:“集群”,与集群计算相反)
标签: msmq windows-server-2008-r2 cluster-computing