1

世界中のユーザーが使用するケース管理用の Web アプリケーションを構築したいと考えています。

地域に関係なく、すべてのユーザーに対してアプリケーションが適切に機能することを確認する必要がありますが、今のところ、焦点が米国、西ヨーロッパ、およびオーストラリアであるとしましょう。

チーム メンバーは、このアプリケーションを使用してケースを作成し、共同作業を行います。たとえば、米国のユーザーはシステムでケースを作成し、オーストラリアとヨーロッパがリアルタイムで表示、編集などを行います。

最高のパフォーマンスを得るためにこれを設計するという点では、どこから始めればよいでしょうか?

4

1 に答える 1

1

いくつかの戦略があり、データのサイズとニーズによって異なります。

1) ゾーンごとに顧客ベースをシャーディングして、さまざまな顧客が存在し、さまざまなデータベースとコンピューティングと通信するようにします。これは通常、カスタム シャーディングによって行われるため、ユーザーを適切な場所または URL にプッシュするボックスがあります。つまり、 usa.blah.com または europe.blah.com です。これは複雑になる可能性がありますが、言うまでもなくバックエンド システムを管理できます。X の顧客情報は Y データベースのはずなので、バックエンドに書き込みます。

2) もう 1 つの方法は、トラフィック マネージャーを使用して、場所に基づいてユーザーを別のコンピューティングにプッシュすることです。

https://azure.microsoft.com/en-us/documentation/articles/traffic-manager-overview/

次に、5 分のスケジュールでゾーン間でデータベースをデータ同期できます。次に、たとえば、米国東部にメインの読み取り/書き込みがあり、読み取り専用のコピーをローカル データセンターにプッシュします。

3) それほど重いデータベース設定がなく、コンピューティング側で大量の情報をキャッシュできる場合は、Traffic Manager を使用して単一の中央データベースを用意します。

ただし、最高のパフォーマンスが得られる 2 つの点は、顧客へのローカル データセンターを使用することで待ち時間が短縮されることと、もう 1 つの主要な点は、コンピューティング側で可能な限り多くのデータをキャッシュして、データベース呼び出しを減らすことです。

基本的に、小規模なコンピューティング環境でさまざまなセットアップを試して、アプリケーションに最適なものを確認する必要があります。

于 2013-06-07T07:25:38.557 に答える