この記事では、Nodejs のいくつかのアプリケーション シナリオを紹介します。一定の参考値があるので、困っている友達が参考になれば幸いです。
Apache のマルチスレッド高同時実行モード
利点: マルチスレッド同時実行をサポート
欠点: ブロッキング
スレッドとは
スレッドは、独立して実行でき、同時に実行できる最小の CPU ユニットです。同じプロセス プロセスの下で実行され、メモリ アドレス空間を共有します。
異なるスレッドが同じ変数を占有する必要がある場合、先着順の原則に従って、最初に到着したスレッドが実行されている間、後続のスレッドは待機することしかできません。つまり、参加します。ブロッキングキューシーケンス。これにより、スレッドのブロックが発生します。
同様のシナリオ: 銀行窓口業務業務
NodeJS の非同期 I/O 原理
利点: 高い同時実行性 (最も重要)利点)、I/O 集中型アプリケーションに適しています
欠点:
NodeJS はイベントベースのループであり、NodeJS の各ロジックはコールバック関数内に記述され、コールバック関数は戻った後に非同期で実行されます。 【推奨学習:「
nodejsチュートリアル」】
NodeJSはブロッキングではありませんが、その後のコールバック処理でブロッキングが発生するのではなく、NodeJS自体によるロジックの計算や処理でブロッキングが発生します。
NodeJS すべての I/O、ネットワーク通信、およびその他の時間のかかる操作は、実行とコールバックのためにワーカー スレッドに引き渡されるため、非常に高速です。ただし、CPU の通常の動作では、CPU は単独でのみ動作します。
同様のシナリオ: 注文の列に並び、自分の番号に電話して食べ物を受け取ります。
NodeJS のアプリケーション シナリオ
NodeJS は同時実行性を処理する強力な機能を備えていますが、計算とロジックを処理する機能は非常に弱いです。
そこで、複雑な論理演算をフロントエンド(クライアント)に移して完結させ、NodeJSは非同期I/Oを提供するだけで済むため、同時実行性の高い高性能な処理を実現できます。
RESTful API
これは、NodeJS にとって最も理想的なアプリケーション シナリオです。数万の接続を処理できます。ロジック自体は API をリクエストし、データを整理して返すだけです。
基本的には、データベースからいくつかの値を検索し、それらを応答に組み立てるだけです。
応答は少量のテキストであり、受信リクエストも少量のテキストであるため、トラフィックは高くならず、最も多忙な企業の API ニーズでも 1 台のマシンで処理できます。
大量の Ajax リクエストを含むアプリケーション
リアルタイム チャット、強力なクライアント ロジックを備えたシングルページ APP、具体的な例は次のとおりです。ローカライズされたオンライン音楽アプリケーション、ローカライズされたオンライン検索アプリケーション、ローカライズされたオンライン APP など。
Apache の該当するシナリオ
Apache は、マルチスレッドの同時実行性の高い共有メモリ アドレス空間の特性により、サーバーが強力であれば、プロセッサーに十分なコア数があれば、Apache は非常に適切に動作するため、比較的少ない (同時) 非同期処理、大量のバックグラウンド計算、および複雑なバックグラウンド ビジネス ロジックを備えたアプリケーションに適しています。
プログラミング関連の知識について詳しくは、
プログラミング ビデオをご覧ください。 !
以上がNodejs はどのようなシナリオに適用できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。