MVC4 プロジェクトに 2 つの Web ロールがあり、www.mysite.com/api / に対するすべてのリクエストが roleA にルーティングされ、その他のリクエストが roleB にルーティングされるようにルーティングを設定したいと考えています。(このようなセットアップの理由は、API または UI ロール インスタンスを個別にスケーリングできるためです。必要に応じて、このアイデアの信用を傷つけてください)リクエストを www.mysite.com/admin から admin.mysite.com にルーティングします。もしそうなら、開発環境をセットアップする方法に関するガイダンスはありますか。
1341 次
1 に答える
2
ここにはいくつかのオプションがあります。
- すべての Web アプリケーションを同じ WebRole で実行し、ホスト ヘッダーを使用して、ホスト ヘッダー (api.mysite.com など) を使用して各 Web アプリケーションにアクセスできるようにします。ホスト ヘッダーに加えて、仮想ディレクトリをメイン Web アプリケーション (mysite.com/api) に追加できます。詳細:複数の Web サイト用に Web ロールを構成する方法. ( Web アプリケーションを個別にスケーリングしたいので、これはあなたが探しているソリューションではないかもしれません)
- さまざまなクラウド サービスを使用します。同じクラウド サービス内の複数のロールに同じエンドポイント (ポート 80 など) を使用することはできません。同じエンドポイントを使用する複数の Web ロールが必要な場合は、これらを複数のクラウド サービスに分割する必要があります。これにより、インスタンスを個別にスケーリングでき、クラウド サービスごとに CNAME を使用することで、 mysite.cloudapp.net => www.mysite.com 、 mysiteadmin.cloudapp.net = > admin.mysite.comのようなものを作成できます。 mysiteapi.cloudapp.net => api.mysite.com . ARRを使用すると、www.mysite.com/api などの仮想ディレクトリを使用して、リクエストを api.mysite.com にルーティングすることもできます。
- MySiteWebRole、ApiWebRole、AdminWebRole の 3 つの WebRoles を作成します。MySiteWebRole には入力 Http エンドポイント (ポート 80) があり、他のポートは別のポート (入力、ロード バランサーを使用するため) を使用します。MySiteWebRole で ARR を使用すると、要求を ApiWebRole および AdminWebRole にリダイレクトできます。例: api.mysite.com へのすべての要求は、ARR を使用して mysite.cloudapp.net:5838 にルーティングされます。
于 2012-09-12T21:54:26.900 に答える