バックグラウンド
この Web サイトには従来の LAMP セットアップがあり、仮想プライベート サーバー上で実行されます。目的は、同じドメインで実行され、最大 500 ミリ秒の遅延があり、サーバー側で状態を維持し、ピーク時にゲームごとに 2 ~ 5 人のプレーヤーで数千の同時ゲームをサポートできる HTML5 マルチプレーヤー ゲームを追加することです。
私は PHP とサーバー サイド全般の経験がほとんどなかったので、当初の計画では node.js+socket.io でゲームのデモを書き、後で PHP で書き直すというものでした。しかし、デモ (サーバー側で約 400 行のコード) を作成した今、私はその計画について疑問を持っています。私が検討している統合方法は 2 つあります。
PHPでゲームを書く
長所:
- 元のセットアップへの変更が少ない
- 言語、テンプレートなどに関して、サーバー側を 2 つの部分に分割する必要はありません。
短所:
- PHP でのリアルタイム通信のための一般的なソリューションの欠如
- スケーラビリティに関する懸念
node.js と PHP サーバーを並行して実行する
このサイトは VPS でホストされているため、nginx を Apache と node.js の前に配置して、クライアントが単一のドメインで単一のポートを使用するだけで済むようにすることができると思います。
長所:
- クライアントとのリアルタイム通信に socket.io を使用する機能
- ゲームサーバーがダウンしても、サイトの残りの部分は引き続き機能します
短所:
- 別の Web サーバーとリバース プロキシを追加してセットアップを複雑にする
質問
私が言ったように、デモを作成することは大いに役立ちましたが、私はサーバー側の経験がほとんどありません。これを行うより良い方法はありますか?重要な長所/短所を見逃していませんか? 実務上重要なポイントは?