新しいシステムを構築しようとしていますが、最大限の可用性が必要です。Windowsを使わなければなりません!
クライアントがWebサービスを使用してシステムと通信するようにします。また、周囲のシステムからデータを取得します。このデータは、メッセージング、MQシリーズおよびMSMQを使用して配信されます。システムは、キューを使用して周囲のシステムに送り返されるデータを生成します。
新しいデータがシステムに到着すると、さまざまなプロセスがこのデータを使用して、印刷、データベースへの書き込みなどのさまざまなタスクを実行します。
高い可用性を実現するために、2つの異なるマシンで2つのバージョンのシステムを並行して実行することを計画しています。クライアントは、正しく応答する最初のサーバーを使用しようとします。理想的なのは、2台のサーバーのいずれかからの受信データがCOMMONキュー(3台目のマシン?)に配置されることだと思います。キュー内のデータは、両方のサーバー上のプロセスによって取得できます(生産者/消費者パターンを考えてください)。
たぶん NServiceBusが私のニーズに合うと思います。上記によると、いくつか質問があります。
- 2台のサーバー間でキューを共有できますか?サーバーがダウンした場合にデータがサーバーにスタックしたくない。その場合、他のサーバーに処理を継続させたいと思います。
- 異なるマシン上の2つ(またはそれ以上)の「コンシューマー」/プロセスが共通のキューからデータを選択できますか?
どんなアドバイスも大歓迎です!