3

私のアプリケーションでは、次のようなシナリオがあります。

  • ユーザーがアプリケーションexeをダウンロードし、Azureでホストされているアプリケーションに含めます
  • アプリケーションからデータを受信するために、すべてのリージョンに1つのREST APIがあり、データ転送にユーザーの費用がかからないようになっています。
  • exeは、アプリケーションのリージョンのRESTAPIに送信されるデータを送信します
  • REST APIは、そのデータを1つのリージョンでホストされているSQLAzureDBに格納します

このように、データ転送の費用は私たちによって支払われます。ここで、コストを削減するために、残りのAPIを削除し、すべてのリージョンでホストされているDBにデータを保存します。このように、ユーザーが使用するexeは、ユーザーのアプリケーションと同じリージョンのDBに直接データを保存します。このデータは、監視用のWebアプリケーションで使用されます。私は3つの暫定的に可能な解決策を特定しました:

  1. 複数のリージョンにSQLAzureDBフェデレーションを配置することは可能ですか?
  2. 複数のリージョンの複数のDBでDataSyncを使用できます。
  3. または、ブルートフォース方式では、すべてのリージョンで独立したDBをホストし、Webアプリケーションで使用するときにデータを組み合わせることができます。

最後の方法がうまくいくことは知っていますが、最後にそれを使いたいと思います。
複数の地域にまたがるフェデレーションについて誰かが提案できますか?
DataSyncの費用はいくらですか?
これに対するより良い解決策はありますか?
ありがとう。

4

1 に答える 1

2

SQL Azureフェデレーションについて:すべてのフェデレーションは同じSQL Azureサーバー内にある必要があります。つまり、同じデータセンター内にある必要があります。複数のサーバーに関して、フェデレーションの将来の更新に何が利用できるかわかりません。

データコストについて:Ingressは無料であるため、どのデータセンターがRESTインターフェイスをホストしているかに関係なく、クライアントアプリケーションからの受信データに帯域幅料金はかかりません。

RESTと直接DBアクセスのアーキテクチャに関するアドバイスを求めていないことは承知していますが、REST APIを維持することと、データベースに直接アクセスすることについて、もう少し検討したいと思います。REST APIを使用することで、ユーザーアクティビティを監視するだけでなく、スケーリングを行うための優れた方法が得られます。また、REST実装を変更するだけで、この知識をクライアントアプリケーションにプッシュするのではなく、スキーマを透過的に変更(またはフェデレーションに移動)することができます。

于 2012-05-29T15:46:40.193 に答える