【讀書筆記】《深入淺出nodejs》第一章 Node簡介

來源:互聯網
上載者:User

標籤:

1. Node的官方網站: http://nodejs.org

2. Node的緣起:

  Ryan Dahl 打算設計一個高效能的Web伺服器。

  Ryan Dahl 認為設計高效能Web伺服器的要點在於:

    (1)事件驅動

    (2)非阻塞I/O

    (what? && why?)

  Ryan Dahl 選擇使用JavaScript作為該伺服器的實現語言,起名為Node。

  *為什麼是JavaScript?

    (1)高效能

    (2)符合事件驅動

    (3)沒有曆史包袱

3. Node的特點

  (1)保留前端瀏覽器JavaScript中熟悉的介面,沒有改寫語言本身的任何特性,依舊基於範圍鏈和原型鏈。

  (2)非同步I/O,在Node中,絕大多數的操作都以非同步方式進行調用。

  (3)事件與回呼函數。事件的編程方式具有輕量級,松耦合,只關注事物點的優勢。

  (4)單線程。不用像多線程編程那樣處處在意狀態的同步問題,這裡沒有死結的存在,也沒有縣城上下文交換所帶來的效能上的開銷。

  *單線程的缺陷:

    (1)無法利用多核CPU

    (2)錯誤會引起整個應用退出,應用的健壯性值得考驗。

    (3)大量計算佔用CPU導致無法繼續調用非同步I/O -> 已使用child_process解決

  (5)跨平台

4.Node的應用情境

  (1)I/O密集型 -> Node面向網路且擅長並行I/O,能夠有效地組織起更多的硬體資源,從而提供更多好的服務。(主要優勢在於Node利用時間迴圈的處理能力,而不是啟動每一個線程為每一個請求服務,資源佔用極少。)

  (2)CPU密集型 -> 訣竅在於如何合理調度。

  (3)分布式應用

【讀書筆記】《深入淺出nodejs》第一章 Node簡介

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.