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