1

更新: OK、MSDTC をクラスター リソースとしてセットアップしていなかったという事実を乗り越えた後 (doh!)、プログラムを実行でき、すべて正常に表示されましたが、メッセージを正常に送信できませんでした。掘り下げた結果、プライベート キューはクラスターの 1 つのノードで作成されたものの、他のノードでは作成されず (コマンド プロンプトから NServiceBus.Host.exe を実行していました)、クラスターを使用するアプリケーションからは見えないことがわかりました。名前。NServiceBus.Host.exe から Generic Application を作成して Cluster グループに追加しようとしましたが、クラスター グループがダウンしてしまいました。私の質問はまだです: クラスタ化された環境で NServiceBus を正常に実行した人はいますか?


NServiceBus をクラスター化された win2k3 ホストにインストールしようとしています。提供された構成ユーティリティ (runner.exe) は、キャッチできなかったいくつかのエラーをスローし、正しく実行されるようになりました。NServiceBus.Host.exe を実行すると、次のエラーが繰り返し発生します。

System.Transactions.TransactionAbortedException: トランザクションが中止されました。---> System.Transactions.TransactionManagerCommunicationException: 基になるトランザクション マネージャーとの通信に失敗しました。---> System.Runtime.InteropServices.COMException (0x8004D01B): トランザクション マネージャーを利用できません。(HRESULT からの例外: 0x8004D01B) System.Transactions.Oletx.IDtcProxyShimFactory.ConnectToProxy (String nodeName、Guid resourceManagerIdentifier、IntPtr managedIdentifier、Boolean& nodeNameMatches、UInt32& whereaboutsSize、CoTaskMemHandle& whereaboutsBuffer、IResourceManagerShim& resourceManagerShim) で System.Transactions.Oletx.DtcTransactionManager(.Inc) ) --- 内部例外スタック トレースの終了 --- System.Transactions.Oletx.OletxTransactionManager で。

NServiceBus をクラスター化されたサーバーにうまく配置した人はいますか? もしそうなら、どのように機能させましたか?

4

3 に答える 3

3

わかりましたので、ようやく起動して、汎用アプリケーションとして機能しました。私が見つけた落とし穴は次のとおりです。

  1. メンバー サーバーに .net Framework 機能またはアプリケーション サーバー ロールを追加する必要があります。
  2. MSDTC と MSMQ リソースの両方をクラスターに追加する必要があります (MSMQ には MSDTC が必要です)。
  3. NServiceBus.Host.exe の汎用アプリケーションを追加した後、汎用アプリケーションのプロパティに移動して変更し、[コンピューター名にネットワーク名を使用する] ボックスをオンにして、NServiceBus が MSMQ を使用しないクラスター名を指すようにする必要があります。現在それを実行しているメンバーサーバーに。
于 2010-03-24T12:52:50.260 に答える
3

詳細なガイドを探している人のために、このプロセスを段階的に詳しく説明したブログ投稿を書きました。

Windows フェールオーバー クラスターでの NServiceBus の展開 を確認してください。

私は Windows Server 2008 を使用していますが、同じ規則のほとんどが適用されるはずです。

于 2010-10-22T03:53:51.887 に答える
1

わかりました。クラスターに MSDTC リソースを実際にセットアップすると役立ちます。MSDTC リソースと MSMQ リソースの両方があれば、ほとんどすべてが機能します。質問の更新を参照してください。

于 2010-03-18T19:10:53.910 に答える