web-dev-qa-db-ja.com

SQL Serverレプリケーションを備えた地理的に分散したアプリケーションは良い考えですか?

現在、地理的に分散されたアプリケーションのターゲットアーキテクチャについて検討しています。

このアプリケーションは、さまざまな製造サイト全体のすべてのマテリアルユニットの移動を追跡およびスケジュールします。

2つの論理エンティティがあります。

  • 最初のものは、特定のストアの運用/ローカル管理を担当します-このエンティティのインスタンスはストアの数と同じです
  • 2つ目はグローバル管理(例:店舗間のユニット転送)を担当するため、すべての運用/ローカルエンティティと通信します。

アプリケーションの論理図は次のとおりです。

Logical architecture

次の制約を考慮する必要があるため、このアプリケーションの実装を前の図から直接派生させることはできません。

  • ストアはさまざまなエリア(通常、エリアごとに数店舗)にあり、エリアがグローバルネットワークから一時的に分離されている場合でも、システムは限られた時間機能します。
  • 運用エンティティは、グローバルエンティティが機能することを必要とします

したがって、私は、各領域の同期データベースを使用して、グローバルエンティティ(同じ実行可能ファイル)の同一のインスタンスを作成する新しいアーキテクチャについて考えました。

enter image description here

同じ種類の目標を達成するために既にSQL Serverレプリケーションを使用している人がいるかどうか疑問に思っていました。

続行するには正しい方法ですか?すべての推奨事項/警告は大歓迎です!

セバスチャン、どうもありがとう。

7
Seb_Lz

1つのボックスからエリアサーバーへのレプリケーションと、それらのエリアサーバーをそのエリア内のストアサーバーにレプリケートすることは簡単です。 2つの異なるエリアサーバーから各ストアサーバーにフィードするようにレプリケーションを設定することは、実際には実行できません。おそらくハッキングして機能させることができますが、それほど簡単ではありません。

エリアサーバーを高可用性でセットアップして、エリアサーバーがオフラインになる可能性を最小限にすることをお勧めします。

3
mrdenny

それはあなたが持っている領域の数に依存します。あなたがこれらの多くを持っている場合、これらの間のデータベース複製の管理は悪夢になるでしょう。

すべてのデータを1か所に集め、可能な限りの高可用性オプションをオンにして、最善を尽くします。それが不可能な場合は、各エリアに1つではなく、2つまたは3つのグローバルサーバーのみを試すこともできます。

0
Gunter Wesley