Node.js (Node) is a scalable, event-driven I/O environment built on top of Google Chrome's JavaScript runtime—essentially, a server-side implementation of JavaScript. Google V8 actually compiles JavaScript into native machine code prior to execution, resulting in extremely fast runtime performance—something not typically associated with JavaScript. As such, Node enables you to rapidly build network apps that are lightning fast and highly concurrent.
それが実際に意味することは、Node.js は、Web 開発の世界を支配する特効薬の新しいプラットフォームではないということです。代わりに、特定のニーズを満たすプラットフォームです。そして、これを理解することは絶対に不可欠です。CPU を集中的に使用する操作に Node.js を使用したくないことは間違いありません。実際、重い計算に使用すると、その利点のほとんどすべてが無効になります。Node が真に優れているのは、高速でスケーラブルなネットワーク アプリケーションを構築することです。これは、高いスケーラビリティに相当する高スループットで膨大な数の同時接続を処理できるためです。
ボンネットの下でどのように機能するかは非常に興味深いものです。各接続 (リクエスト) が新しいスレッドを生成し、システム RAM を占有し、最終的に利用可能な RAM の量を使い果たす従来の Web サービス技術と比較して、Node.js は非ブロッキング I/ O 呼び出しにより、数万の同時接続をサポートできるようになります
簡単な計算: 各スレッドに 2 MB のメモリが付随する可能性があると仮定すると、8 GB の RAM を搭載したシステムで実行すると、理論上の最大同時接続数は 4000 になり、さらにスレッド間のコンテキスト切り替えのコストがかかります。これは、従来の Web サービス技術で通常対処するシナリオです。それをすべて回避することで、Node.js は 1M を超える同時接続のスケーラビリティ レベルを実現します。
読み続けて.. http://www.toptal.com/nodejs/why-the-hell-would-i-use-node-js
ゴールデンタイムの企業は、モバイル ソリューションを Node.js に依存してきました。
LinkedInは著名なユーザーです。同社のモバイル スタック全体は Node.js 上に構築されています。各物理マシンで 15 のインスタンスを持つ 15 のサーバーを実行していたのが、2 倍のトラフィックを処理できる 4 つのインスタンスになりました。
eBayは、Node.js をランタイム スタックとして使用する HTTP API 用の Web クエリ言語である ql.io を発表しました。通常の開発者品質の Ubuntu ワークステーションを調整して、node.js プロセスごとに 120,000 を超えるアクティブな接続を処理することができました。各接続は約 2kB のメモリを消費します。
Walmartは、モバイル アプリを再設計して Node.js を使用し、JavaScript 処理をサーバーにプッシュしました。
詳細については、http ://www.pixelatingbits.com/a-closer-look-at-mobile-app-development-with-node-js/ をご覧ください。