私はNode.jsHTTPサーバーをいじり始めて、サーバー側のJavascriptを書くのが本当に好きですが、何かが原因で、WebアプリケーションにNode.jsを使い始めることができません。
非同期I/Oの概念全体を理解していますが、画像操作や大きなデータセットの並べ替えなど、手続き型コードがCPUを非常に集中的に使用するエッジケースについては少し心配しています。
私が理解しているように、サーバーは、ユーザーのリストの表示やブログ投稿の表示などの単純なWebページ要求に対して非常に高速になります。ただし、グラフィックを生成したり、数千の画像のサイズを変更したりする非常にCPUを集中的に使用するコード(たとえば、管理バックエンド)を記述したい場合、要求は非常に遅くなります(数秒)。このコードは非同期ではないため、これらの数秒間にサーバーに着信するすべてのリクエストは、遅いリクエストが完了するまでブロックされます。
1つの提案は、CPUを集中的に使用するタスクにWebワーカーを使用することでした。ただし、Webワーカーは、別のJSファイルを含めることで機能するため、クリーンなコードを作成するのが難しくなるのではないかと心配しています。CPUを集中的に使用するコードがオブジェクトのメソッドにある場合はどうなりますか?CPUを集中的に使用するすべてのメソッドに対してJSファイルを作成するのはちょっと面倒です。
もう1つの提案は、子プロセスを生成することでしたが、それではコードの保守性がさらに低下します。
この(知覚された)障害を克服するための提案はありますか?CPUの重いタスクが非同期で実行されることを確認しながら、Node.jsを使用してクリーンなオブジェクト指向コードをどのように記述しますか?