Microsoft Windows Azureクラウドを初めて使用し、Azureクラウドでnode.jsを使用してゲームサーバーを実行したいと考えています。WindowsのazureNode.jsDeveloper Centerサイトを読みましたが、サーバーはazureクラウドで複数の方法で実行できるようです。
node.jsを使用するTCPゲームサーバーに適したAzureオプションはどれですか?
Microsoft Windows Azureクラウドを初めて使用し、Azureクラウドでnode.jsを使用してゲームサーバーを実行したいと考えています。WindowsのazureNode.jsDeveloper Centerサイトを読みましたが、サーバーはazureクラウドで複数の方法で実行できるようです。
node.jsを使用するTCPゲームサーバーに適したAzureオプションはどれですか?
3つのオプション:
Webサイトは基本的に共有Webホスティングであり、HTTPのみをサポートしているため、オプションではありません。
クラウドサービスはおそらくあなたが望むものです。これは、WindowsAzureのコアPaaSオファリングです。Windowsで実行されている限り、ほとんど何でも実行できます。TCPエンドポイントをサポートします。Node.jsにはかなり優れたツールがあります。クラウドサービスでノードを実行するには、Webロールとワーカーロールの2つのフレーバーがあります。WebロールはIISを使用し、その背後でNode.jsを実行します。これは生のTCP接続では機能しないため、ワーカーロールを使用することをお勧めします。ワーカーロールは、Nodeアプリを起動し、永久に実行したままにします。
仮想マシンも正常に機能しますが、クラウドサービスと比較してあまり価値がありません。クラウドサービスでは、オンデマンドで新しいVMを起動したり、トラフィックを分散するアプリの前にロードバランサーを配置したり、クラッシュした場合にアプリを再起動したり、ダウンタイムなしでVMに自動的にパッチを適用したりできます。何らかの理由でクラウドサービスで実行できないため、生のVMを使用することはめったにありません。
tl;drクラウドサービスでワーカーの役割が必要です。:-)
Windows Azureには、Github上のソーシャルゲーム用のツールキットがあります。これは、Node.jsをサポートしているかどうかわからないので、作業に役立つ可能性があります。役立つポイントがいくつかあるはずです。
https://github.com/WindowsAzure-Toolkits/wa-toolkit-games
このブログ投稿では、どこで何を実行するか、それぞれのユースケースについて詳しく説明しています。
それは本当にあなたのアプリケーション、それが持っているバックエンド、ユーザー数、パフォーマンス、レイテンシーなどに依存します...