1

私が理解していることから、MSMQの負荷分散を実現するには、NLBなどのテクノロジを使用する必要があります。

また、MSMQの高可用性を実現するには、関連するBiztalkホストをクラスター化する必要があります(したがって、基盤となるサーバー自体がクラスター内にある必要があります)。

ただし、Microsoftのドキュメントによると、NLBとフェールオーバークラスタリングテクノロジには互換性がありません。参考のためにこのリンクを参照してください:http ://support.microsoft.com/kb/235305

MSMQのロードバランシングと高可用性を実現する方法を誰かに説明してもらえますか?

前もって感謝します、

M

4

1 に答える 1

2

振り返ってみると、ナンセンスな話をしていたと思うので、元の回答を編集しました。

BizTalkトランザクションシナリオでは、負荷分散と高可用性の両方を実現できるとは思いません。次のサイトhttp://blogs.msdn.com/eldarm/の「BizTalk2006でMSMQ/TからMSMQアダプターに移行する際の移行に関する考慮事項」のセクションを参照してください。

その投稿を要約すると、いくつかのシナリオがあります。

高可用性(非トランザクション)

NLBの背後にある複数のBizTalkサーバーにMSMQがあるだけです

高可用性(トランザクション)

このためには、クラスター化されたMSMQホストが必要です。つまり、単一のキューでいかなる種類の負荷分散も実行できません。

考えられる中途半端な解決策の1つは、異なるクラスター化ホスト上に2つのMSMQアダプターを作成し、それぞれが異なるキューを処理することです。でも私にはあまりいい音ではありません。

重要なポイントは、トランザクションのクラスター化された動作が必要な理由を理解することです。これは、注文された配信に必要であり、重複がないことを確認するために必要です。


一般に、MSMQの負荷分散の問題には行きません。メッセージがMessageBoxデータベースに到達すると、BizTalk自体の負荷が分散されます。1台のマシンでキュー処理が行われるために非対称の負荷が発生することは事実ですが、BizTalk環境の全体的なコンテキストでは、これは重要ではありません。

繰り返しになりますが、単純な高可用性以外の理由でMSMQをクラスタリングしていることを覚えておく価値があります。

MSMQアダプター受信ハンドラー-MSMQはリモートトランザクション読み取りをサポートしていません。ローカルトランザクション読み取りのみがサポートされています。MSMQアダプターの受信ハンドラーは、MSMQアダプターを使用してローカルのトランザクション読み取りを完了するために、クラスター化されたMSMQサービスに対してローカルであるホストインスタンスで実行する必要があります。

それは次のMSDNページからのものです。

この編集された回答がお役に立てば幸いです-それがあなたが求めていたものではなかったと思います。おそらく私は間違っていて、NLBとトランザクションMSMQの実行可能な解決策を見つけるでしょうが、考えれば考えるほど、 2つのシナリオには互換性がありません。

最後の考えは、サーバー障害に同様の質問を投稿してみることができるということです-少なくとも2つのMVPを含む、Stack Overflowで数人のBizTalk開発者を取得しますが、少なくとも私が働いている場所では、これは私が渡すような質問です私のネットワーキングチームに。

于 2010-04-27T21:36:11.043 に答える