麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 網站 > WEB開發 > 正文

NodeJs簡介

2024-04-27 15:14:08
字體:
來源:轉載
供稿:網友

NodeJs

NodeJS是什么

以下是官方的描述:

Node.js 是一個基于 Chrome V8 引擎的 javaScript 運行環境。Node.js 使用了一個事件驅動、非阻塞式 I/O 的模型,使其輕量又高效。Node.js 的包管理器 npm,是全球最大的開源庫生態系統。

為什么需要NodeJs

當前的服務器處理請求的方式有什么問題? 在Tomcat之類web容器中,對于每個連接都需要一個線程,當有新的http請求進來后,web容器便則會從線程池中獲得一個線程來處理該請求(每個線程上下文大約占用 2 MB 的內存。在一個擁有 4 GB RAM 的jvm中,理論上最大的并發連接數量是 2,000個用戶,當然,Tomcat容器也可以選擇NIO方式來提高并發)。

Node對此進行了進一步的優化,對于每個連接,在 Node 引擎的進程中生成一個事件,而非分配一個線程或者采用多路復用。通過這種方式,nodeJs可以極大地降低內存資源的使用,實現其宣稱的“能支持數萬個并發連接”的目標。

NodeJs的特性

高性能 NodeJs基于V8引擎,使用了一些最新的編譯技術,使得用Javascript的代碼運行速度獲得了極大提升,在提升性能的同時,nodeJS還能能減低開發復雜度。非阻塞 Node采用一系列“非阻塞”庫來支持事件循環的方式。本質上就是為文件系統、數據庫之類的資源提供接口。向文件系統發送一個請求時,無需等待IO,IO準備好的時候非阻塞接口會通知Node。可運行于服務器端 雖然還存在其他一些支持Javascript在服務器端 運行的平臺,Node發展迅猛,已成為事實上的平臺。單線程 Node.js可以在單線程的情況下實現對任務進行并行處理,它通過事件輪詢(event loop)來實現并行操作。豐富的類庫 每一個Node.js的類庫都包含了十分豐富的各類函數,比如http模塊就包含了和http功能相關的很多函數,可以幫助開發者很容易地對比如http,tcp/udp等進行操作,還可以很容易的創建http和tcp/udp的服務器。

應用場景

由于nodeJs非阻塞高性能等特性,非常適合于大型高流量網站,此外,還可以使用它來開發一些快速移動Web框架。除了Web應用外,NodeJS也被應用應用程序監控、媒體流、遠程控制、桌面和移動應用等等。

RESTful API 對于不需要服務端復雜處理的請求,如:僅用于接收幾個參數,解析它們,簡單查詢數據庫,根據結果組合一個具有少量文本信息的響應返回給用戶。

前后端分離 在非SPA方式的開發模式下,前端負責View和Controller層,后端負責Model層。由于前端人員更熟悉js而非Java,因此更便于View與Controller在前端的交互。

隊列 對于高并發寫的場景,每秒有數千條或更多寫數據庫的請求,并且這些請求遠大于數據庫能夠支撐的tps.對于這種情況,Node 將它們寫入一個內存排隊機制(如redis),另一個單獨進程可以從那里將它們寫入數據庫。 (這一點與使用Java來處理基本類似,大多數情況下,從前后端分離的角度來看,更適合在后端使用Java來實現)

NodeJs的helloWorld

以下是一個nodejs的Hello World :

var http = require('http');server = http.createServer(function (req, res) {res.writeHeader(200, {"Content-Type": "text/plain"});res.end("Hello World/n");});server.listen(8000);console.log("httpd start @8000");

與jquery的區別

jquery是一個運行在客戶端的javascript庫,主要提供操作DOM等等的簡化操作 node.js是運行在服務器端的程序,用來解釋和執行js語言, 它不僅提供js類庫,更是一個高性能的js處理平臺,其側重點在于提高并發處理能力。

與Netty等網絡框架的區別

對于線程池方式來處理請求的方式,它依然可能發生阻塞。原因在于,線程池的線程數量通常有限制的,如果所有線程都被阻塞(例如網速慢,或者被人惡意占用連接),那么未分配線程的請求將會排隊等待,從而發生阻塞。 Netty等網絡框架采用多路復用方式,只需要一個線程或者少量線程,就可以處理大量請求。從本質上來說,Node的原理與其有相似的地方,其不同之處在于,Node比Netty更進一步,拋棄了多線程的處理方式,而完全采用事件處理的方式。

參考資料

http://www.ibm.com/developerworks/cn/opensource/os-nodejs/


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 中文字幕免费在线观看视频 | 久色成人 | 四虎久草 | 精品无吗乱吗av国产爱色 | 亚洲成人中文字幕在线 | 91精品国产综合久久久动漫日韩 | 久久久久久高清 | 国产毛片自拍 | 亚洲精品在线观看免费 | xxnxx中国18 | 全黄裸片武则天艳史 | 91精品国产91久久久久久吃药 | 国产乱色精品成人免费视频 | 九九热精品视频在线 | 免费看一级片 | 国产艳妇av视国产精选av一区 | 99影视在线视频免费观看 | 成人免费观看在线视频 | 毛片免费在线观看 | av中文字幕免费在线观看 | 爱逼av| 成人毛片网站 | 91成人免费网站 | 欧洲精品色 | 久草视频在线资源 | 激情宗合 | 久久人人人 | hdhdhd79xxxxх | 成人免费一区二区三区在线观看 | 免费观看黄色片视频 | 久久最新网址 | 久久欧美亚洲另类专区91大神 | 青青草免费观看 | 成人青青草 | 欧美亚洲另类在线 | 中文日韩 | 小视频免费在线观看 | 在线91视频 | 国产亚洲综合精品 | 成av人在线观看 | 国产亚洲精品久久午夜玫瑰园 |