私はPHPWebアプリケーション開発者であり、CodeIgniterを使用してPHPでいくつかの大規模なプロジェクトを構築しています。PHPは常に仕事を成し遂げてきましたが、現在、クライアント側でjavascriptextjs4フレームワークを使用して構築している新しいプロジェクトに取り組んでいます。そして、経験豊富なnodejs開発者にいくつか質問があります。
最近のPHPプロジェクトでは、ユーザーログイン要求により、サーバーがFacebookへのAPI呼び出しを行う必要がありました。スケーラビリティを向上させるためにこれを処理する方法は、クライアントが最初のログインリクエストを作成し、サーバーがリクエストを「ギアマン」ジョブキューイングサーバーに渡し、バックグラウンドワーカープロセスがジョブを取得してAPI呼び出しを実行することでした。その間、サーバーはクライアントに応答し、クライアントのブラウザーはAJAXを使用してサーバーのポーリングを開始し、ジョブが完了したかどうかを確認します。(ああ、Facebook API呼び出しの結果をワーカーからアプリケーションサーバーにmemcachedで渡しました)。これは、PHPがロックされており、Facebook API呼び出しに数秒かかるため、アプリケーションサーバーを解放してユーザーからの同時リクエストを処理できるようにするために行いました。
私の質問は、nodejsは非ロックであるため、このAppサーバー、ギアマンジョブキューイングサーバー、およびバックグラウンドワーカーのモデル全体がnodejs開発に意味があるかどうかです。クライアントからのajaxリクエストを受け入れてログインし、アプリケーションサーバーからfacebook APIを呼び出して、その応答を待ち(nodejsはロックされていないため、他のユーザーのリクエストを処理している間)、ユーザーに返信しますか?
また、素晴らしいheroku環境を利用できるようにするために、nodejs開発に参加することも検討しています。