當前位置:編程學習大全網 - 源碼下載 - nodejs的優勢

nodejs的優勢

NodeJs的優勢:

很多服務器端語言(PHP,JAVA,ASP.net)有什麽問題?當用戶訪問服務器時,當前的服務器端語言為每個用戶鏈接創建壹個線程,但是每個線程消耗大約2M內存。如果壹臺8G內存的服務器可以鏈接4000個左右的用戶,如果用戶的鏈接數量很大,就必須增加服務器的數量。而且用戶鏈接的方式有很多種(比如app,網頁同時訪問),這就涉及到服務器* * *,那麽服務器如何支持最多用戶同時鏈接就成了問題;

NodeJS修改了客戶端到服務器的鏈接方式,解決了這個問題。NodeJS沒有為每個客戶端創建壹個新線程,而是為每個客戶端鏈接啟動了壹個內部事件,因此NodeJs有能力同時處理多達數萬個用戶的客戶端鏈接。

NodeJS適合開發的應用:

當應用程序需要處理大量的並發輸入/輸出,但在向客戶端發送響應之前,應用程序內部不需要非常復雜,我們應該考慮使用NodeJs來開發應用程序,例如:

1.聊天服務器:如果聊天的人很多,用戶和服務器之間會有大量的並發鏈接,但是服務器端的數據處理並不復雜;

2.綜合服務類網站和電子商務類網站的服務器:在這類網站的服務器端,往往每秒可以接受多達上千條的數據,並將這些數據寫入數據庫。NodeJs可以通過其隊列機制將這些數據快速寫入緩存,然後通過各個單獨的進程將這些數據從緩存中取出寫入數據庫。如果是其他服務器(比如Apache server或者Tomcat server),由於這些服務器使用的是阻塞I/O機制,每壹段數據寫入數據庫需要壹段時間(直到上壹段寫完,才能寫入下壹段),但是NodeJs使用的是非阻塞I/O機制,所以這些數據不需要等待每壹段數據就可以寫入數據庫。

總結:

稍微大壹點的系統,不是壹種開發語言能搞定的,往往是幾種的混合,比如服務器端開發用C和c++,業務邏輯用java,前端展示用php,消息中間件等等。

Nodejs可以在服務器端快速原型化(原來只有C系統和java才能做高性能的東西),代碼量會少很多;還有壹點就是它的語法優勢,js封閉等等。但不適合cpu密集型處理,只能繞著彎解決。據說這次會有人在QCon上分享研究成果,大家可以關註壹下。

每種語言都有自己適合的領域。沒有必要強迫壹種語言解決壹切,它具有其他語言的特點。只有不斷地通過權衡做出制度才是目標。這些都是系列總結的,希望指正。

  • 上一篇:銷售高手,如何做好獨特頂級服務!抓住客戶的心?
  • 下一篇:請問想學開發android應用,要把java學到什麽程度?
  • copyright 2024編程學習大全網