1

実際に自分の Web サイトに ASP.NET MVC 4 を使用しています。この Web サイトは、私のゲーム データベース (ログインとユーザー プロファイル) と同じデータベースを共有します。ゲーム ロジックとリクエストにのみ WebAPI を使用するので、トラフィックが確実に高くなります。認証用とリクエスト用の 2 つのメソッドのみを提供します。(ここでは説明しませんが、一種の巨大なアーキテクチャがあります)。ASP.NET MVC 4 は、ほとんど何も追加せずに web.api を簡単に統合できるため、コードの重複を避けるために、API を Web サイト プロジェクトに直接追加しないでください。これは良い選択だと思いますか?その理由は?

ありがとう!

4

1 に答える 1

1

あなたの質問は、どのようにスケールアウトすべきかということであり、私のWebサイトと同じプロジェクトでWebAPIを使用すべきかということではないようです。詳細がわからない場合、スケールアウトの方法を推奨することは難しいため、同じWebサイトにWebAPIを含めるかどうかについての元の質問に答えることに固執します。

ゲームとゲームロジック(Web Api)がWebサイト(www.mysuperniftygame.com(またはURL)など)の一部になることを意図していると仮定すると、おそらくWebAPIをWebの一部にする必要があります。サイト。なんで?そうすれば、APIリクエスト用のサブドメイン(gameapi.mysuperniftygame.comなど)は必要ありません。

なぜそれが重要なのですか?WebサイトとWebアプリがAPIリクエストを作成している場合は、独自のWeb APIにリクエストを送信するためだけに、JSONPCORSなどを組み込む必要があるクロスドメインの問題に対処する必要はないでしょう。。

スケールアウトと大量のトラフィックであるAPIに関しては、Webフロントエンドを水平方向にスケールアウトできます。少なくとも次の2つのことを考慮する必要があります。

  1. ベストプラクティスであるコントローラーの外部にコードを実装することにより、コントローラー(この場合はAPIコントローラー)を無駄のないものにします
  2. APIコントローラーを非同期で実行するようにします。これにより、DBに対して長時間実行されるリクエストがあった場合でも、WebサイトとAPIが引き続き応答するようになります。
于 2012-10-30T13:47:32.553 に答える