Windows 2008 R2 Standard に移行しており、Microsoft Clustering (アクティブ-パッシブ) 構成を使用します。私たちのアプリケーションは MSMQ プライベート キューに大きく依存しており、インストールでは次の C# コードを使用して 100 をはるかに超えるプライベート キューが作成されます。
MessageQueue.Create(".\private$\myqueue", false);
インストールはクラスターのコンテキスト内で実行されていないため、キューはクラスターではなくローカル ノードに作成されます。
次に、コードを次のように変更してみました。
MessageQueue.Create("MYCLUSTERNAME\private$\myqueue", false);
ただし、別のサーバー (この場合はクラスター サーバー コンテキスト) にプライベート キューを作成することはできず、"無効なキュー パス名" というエラーが表示されます。
私の 2 つの質問は次のとおりです。1) クラスターのコンテキストでインストールを実行して、プライベート キューを作成するときに実際にクラスター内にキューを作成する方法はありますか?
2) そうでない場合、.NET を介してクラスター内にキューを作成する最善の方法は何ですか? クラスター内に常駐する仲介者の Windows サービスを作成し、インストール時にプロセス間通信を使用して作成するキューをサービスに伝えるブログをいくつか読んだことがあります。これはハックのように思えますが、それが唯一のアプローチであることが判明した場合は実行可能です。