「デフォルトで」と「強制」には互換性がありません。任意の HTTP ライブラリを使用できます。コアhttp
モジュールは「デフォルト」と考えられるかもしれませんが、別のモジュールを使用することを妨げるものはありません。
JavaScript はシングルスレッド言語であり、Node.js は JavaScript ランタイムであり、他の多くの言語のように応答ごとにスレッドを生成する Web サーバーではありません。必要に応じて、応答ごとにスレッドを実行することもできます。これを行う Node 上に構築されたプロジェクトもありますが、Node の利点のほとんどが失われます。Web リクエストに応じて計算量の多い処理を行っている場合 (そして、それを待ってくれるクライアントがいる場合)、多くの利用可能なソリューション (Web ワーカー、スレッド) のいずれかを介して別のスレッドをスピンオフする必要があります。 -a-go-go、child_process など)。
Node.js の作成者は、ユーザーが Web サーバーを作成していると想定しています。Web サーバーで行うことのほとんどは、本質的には IO であり、その IO がファイルシステム、データベース、または他のワークハウス プロセスで計算集約型のタスクをキューに入れるために使用されるメッセージ バスに関係するかどうかにかかわらずです。
あなたの質問を見ると、Node.js を Python および WSGI と統合しようとしている場合、Node.js とは何かについて基本的な誤解があるようです。Node.js は Web サーバーを作成するためのものなので、Python と一緒に使用してみませんか? パイソンの中?(あなたが何を達成しようとしているのか本当にわかりません)ほとんど意味がありません。
タスクが I/O バウンドだけではない場合、Web サーバーと同じボックスでそれらのタスクをホストするべきではありません。したがって、メッセージ バス アプローチは 3 で簡単に説明しました。しかし、そうすることに決めていて、それらのタスクがすべての CPU を占有しないことが確実な場合は、そのようなタスクがどのくらいの頻度で普及しているかを判断する必要があります。それらがすべての Web リクエストにある場合は、Node.js を使用しないでください。あなたはその最も基本的な利点を放棄し、マイナーなものだけを残しています (その周りに成長したエコシステムなど)。それらがまれな場合は、2 で利用可能な多くの方法を使用して、別のスレッドでスピンオフする必要があります。
関連: https://gist.github.com/2794861