2

Windows Azure に移行しようとしています。多数のカスタマイズとシャーディング コードが組み込まれているため、VM ロールを使用する方がよいと考えました。私の仮定では、VM を通常のサーバーとして管理し、アプリをデプロイできると考えています。データベースは既に SQL Azure 上にあります。

質問 - 現在の Azure 以外のセットアップでは、ロード バランサーを備えた 2 つの Web サーバー ボックスがあります。Web ロールと、Azure がインスタンス (Web ロールまたは worker ロール) 間で負荷を分散する方法について読んだことを覚えています。Azure は 2 つの VM ロール間の負荷分散をサポートしていますか?

さらに重要なことは、worker ロールを使用するとパフォーマンスが向上するかどうかです (コードが Azure とより緊密に統合されているように見えるため)。誰かが私を正しい方向に向けることができれば素晴らしいでしょう. どうもありがとう。

4

1 に答える 1

3

ロード バランサーは、Web、ワーカー、VM のいずれであっても、ロールのインスタンス間でトラフィックを分散します。エンド ユーザー (またはシステム) は、protocol://ip:port 経由でサービスに連絡するだけです。たとえば、VM ロールでポート 8000 をホストし、そのロールの 4 つのインスタンスがある場合、4 つのインスタンスすべてに分散されたトラフィックが表示されます (Web ロールの場合と違いはありません)。

Worker ロールと VM ロールの間でパフォーマンスに違いはありません。違いは、ゲスト OS 自体のメンテナンスにあります。VM ロールの代わりに Worker ロールを利用できれば、更新の手間が省けます (数 GB の大きなイメージをクラウドにプッシュする必要もありません)。VM ロールを使用する必要がある主な理由は 3 つあります。

  • 必要なアプリのインストールを自動化する方法はありません (たとえば、実行する必要のある MSI、レジストリの更新など)。
  • インストールを自動化できますが、時間がかかりすぎます (例: 5 ~ 10 分以上)
  • インストールを自動化し、タイムリーに完了することはできますが、信頼できるインストールとは言えません (たとえば、一部のコンポーネントがインストール中に失敗することがあり、その結果、役割が再利用され、インストールの試行が繰り返されます)。
于 2011-10-22T21:53:25.853 に答える