2011-07-11 24 views
2

弊社のWebサイトでは、注文をMSMQに送信します.MSMQでは、別のサービスが検索し、企業の注文処理システムに転送します。設計は、単一のMSMQサーバーが常に稼働しているかどうかによって異なります。私は、MSMQサーバーの障害を処理する冗長/フェールオーバーシステムを作成することが任されています。これを行うベストプラクティスは何ですか?MSMQフェールオーバーシステムを作成する方法

おかげ

(.NET 3.5、Windows Server 2008の)アーキテクチャの観点から

答えて

2

最も簡単なので、サービスがあるノードから別のノードにフェイルオーバーすることができますMSMQをクラスタ化することです。送信者と受信者は両方ともクラスタ化されたキューを指します。ハードウェアを共有する他のクラスタ化されたリソースがない場合は、高価なソリューションです。

複数のサーバーがあり、複数のメッセージをサーバーごとに1回(または一度マルチキャスト)送信するシナリオがあります。受信プロセスでは、ラウンドロビンを使用してメッセージを読み取ることができます。余分な、未使用のメッセージのためのいくつかの基本的なクリーンアップロジックが必要です。だから安い解決策が、少し複雑です。

さまざまな可能性があります。予算、許容可能なダウンタイムなどに依存します。

+0

私は過去に放送アーキテクチャを実装しました。それはaviabilityのためにうまく動作します。あなたが言うように、各メッセージを一度だけ処理する方法が必要です。あるいは、同じデータを悪影響を与えずに何度も何度も処理できる反対側のプロセスがあります。 –

関連する問題