Node.js 对比传统Web服务器

Node.js专注于创建高性能应用程序。大多数Web应用程序依赖于从磁盘或从另一个网络源读取数据。传统Web服务器使用进程对应每个请求,即启动一个新进程来处理每个Web请求。为每个进程开辟一个新进程请求是一个昂贵的操作,无论是在CPU和内存方面。传统Web服务器使用线程池。

例子

Node.js使用单个线程来处理请求。

  1. function longRunningOperation(callback) {
  2. // simulate a 3 second operation
  3. setTimeout(callback, 3000);
  4. }
  5. function userClicked() {
  6. console.log("starting a long operation");
  7. longRunningOperation(function () {
  8. console.log("ending a long operation");
  9. });
  10. }
  11. // simulate a user action
  12. userClicked();