web-dev-qa-db-ja.com

負荷分散されたサーバーでのトランザクションMSMQの構成

現在、トランザクションプライベートキュー(msmq/wcf)を使用する単一のサーバーで実行されているソリューションがあります。 Windowsサービスはキュー上のメッセージを消費して処理し、Webアプリケーション層はメッセージをキューにプッシュします。

IP負荷分散構成(ラウンドロビン、2つのサーバー、単一の仮想アドレス)に移行しており、各ノード間でメッセージの順序を維持する必要はありません。したがって、通常の状態では、スタック(Webアプリ、サービス、キュー)を複製するだけで問題ありません。ただし、ノードがダウンした場合にメッセージが失われたり、長期間遅延したりしないように、単一の仮想キューセットを使用することをお勧めします。

私はMSMQを初めて使用するわけではありませんが、これまでこのように複数のサーバー用に構成したことはありません。サーバーの再構成を伴わない提案はありますか?負荷分散された構成に固執する必要があります。

2
jtalarico

トランザクションキューを簡単に負荷分散することはできません。 MSMQホストが、ロードバランサー(使用している場合)ではなく、送信者のIPアドレスを含むメッセージを受信することを確認する必要があります。 DNSを使用して負荷分散を行っている場合、MSMQは非常に粘着性があり、負荷分散が無効になりますが、おそらく問題にはなりません。

石油と水-MSMQトランザクションメッセージと負荷分散:
http://blogs.msdn.com/b/johnbreakwell/archive/2008/11/18/oil-and-water-msmq-transactional-messages-and-load-balancing.aspx

4
John Breakwell