基于Node.js高性能高并發(fā)網(wǎng)絡(luò)應(yīng)用構(gòu)架的研究和實(shí)現(xiàn)
【學(xué)位單位】:杭州電子科技大學(xué)
【學(xué)位級(jí)別】:碩士
【學(xué)位年份】:2018
【中圖分類】:TP393.02
【部分圖文】:
圖 2.1 Node.js 基本架構(gòu)圖Node Standard Library 是我們使用頻率很高的標(biāo)準(zhǔn)庫(kù),如 Http, Buffer 模塊等。Node Bindings 是溝通 Javascript 和 C++的橋梁,封裝 V8 和 Libuv 的細(xì)節(jié),向上層提供基礎(chǔ) API 服務(wù)。V8 是 Google 開(kāi)發(fā)的 JavaScript 引擎,提供 JavaScript 運(yùn)行環(huán)境,可以說(shuō)它就是 Node.js 的發(fā)動(dòng)機(jī)。Libuv 是專門(mén)為 Node.js 開(kāi)發(fā)的一個(gè)封裝庫(kù),提供跨平臺(tái)的異步 I/O 能力。C-ares 提供了異步處理 DNS 相關(guān)的能力http_parser、OpenSSL、zlib 等提供包括 http 解析、SSL、數(shù)據(jù)壓縮等其他能力。最后架構(gòu)的底層是支撐 Node.js 運(yùn)行的關(guān)鍵,代碼由 C/C++實(shí)現(xiàn)。Libuv 不僅提供了跨平臺(tái)的異步 I/O 能力,還提出在不同的 I/O 輪詢機(jī)制上的復(fù)雜抽象,即為套接字和其他實(shí)體提供高級(jí)抽象的“句柄(handles)”和“流(streams)”。圖 2.2 展示了組成 libuv 的不同部分以及與之相關(guān)的子系統(tǒng)。
圖 2.1 Node.js 基本架構(gòu)圖Node Standard Library 是我們使用頻率很高的標(biāo)準(zhǔn)庫(kù),如 Http, Buffer 模塊等。Node Bindings 是溝通 Javascript 和 C++的橋梁,封裝 V8 和 Libuv 的細(xì)節(jié),向上層提供基礎(chǔ) API 服務(wù)。V8 是 Google 開(kāi)發(fā)的 JavaScript 引擎,提供 JavaScript 運(yùn)行環(huán)境,可以說(shuō)它就是 Node.js 的發(fā)動(dòng)機(jī)。Libuv 是專門(mén)為 Node.js 開(kāi)發(fā)的一個(gè)封裝庫(kù),提供跨平臺(tái)的異步 I/O 能力。C-ares 提供了異步處理 DNS 相關(guān)的能力。http_parser、OpenSSL、zlib 等提供包括 http 解析、SSL、數(shù)據(jù)壓縮等其他能力。最后架構(gòu)的底層是支撐 Node.js 運(yùn)行的關(guān)鍵,代碼由 C/C++實(shí)現(xiàn)。Libuv 不僅提供了跨平臺(tái)的異步 I/O 能力,還提出在不同的 I/O 輪詢機(jī)制上的復(fù)雜抽象,即為套接字和其他實(shí)體提供高級(jí)抽象的“句柄(handles)”和“流(streams)”。圖 2.2 展示了組成 libuv 的不同部分以及與之相關(guān)的子系統(tǒng)。
杭州電子科技大學(xué)碩士學(xué)位論文系統(tǒng)調(diào)用return無(wú)數(shù)據(jù)數(shù)據(jù)到達(dá)數(shù)據(jù)拷貝拷貝完成等待達(dá)遞交至aio_read指定的時(shí)間處理程序aio_read讀完成事件處理內(nèi)核應(yīng)用進(jìn)程用程序續(xù)執(zhí)行,其它邏輯圖 2.7 異步 I/O 模型件決定的程序執(zhí)行流被稱為事件驅(qū)動(dòng),通常以主循環(huán),事件處理程為特征。如圖 2.8 所示為事件驅(qū)動(dòng)模型圖。
【參考文獻(xiàn)】
相關(guān)期刊論文 前8條
1 曾超宇;李金香;;Redis在高速緩存系統(tǒng)中的應(yīng)用[J];微型機(jī)與應(yīng)用;2013年12期
2 李永魁;謝文閣;;基于非關(guān)系數(shù)據(jù)庫(kù)的分布式負(fù)載均衡技術(shù)[J];計(jì)算機(jī)系統(tǒng)應(yīng)用;2013年05期
3 饒磊;湯小春;侯增江;;服務(wù)器集群負(fù)載均衡策略的研究[J];計(jì)算機(jī)與現(xiàn)代化;2013年01期
4 鄧緒高;;Javascript的詞法作用域分析[J];電腦知識(shí)與技術(shù);2012年36期
5 張玉芳;魏欽磊;趙膺;;基于負(fù)載權(quán)值的負(fù)載均衡算法[J];計(jì)算機(jī)應(yīng)用研究;2012年12期
6 黃立冬;;一種半靜態(tài)化網(wǎng)站的構(gòu)建方法[J];軟件;2012年03期
7 楊艷;李煒;王純;;內(nèi)存數(shù)據(jù)庫(kù)在高速緩存方面的應(yīng)用[J];現(xiàn)代電信科技;2011年12期
8 朱曉輝;王杰華;石振國(guó);陳蘇蓉;;海量圖片的分布式存儲(chǔ)及負(fù)載均衡研究[J];計(jì)算機(jī)工程;2010年23期
相關(guān)碩士學(xué)位論文 前2條
1 梁銳;基于Web服務(wù)器集群的負(fù)載均衡系統(tǒng)研究與實(shí)現(xiàn)[D];大連海事大學(xué);2013年
2 陳亮;集群負(fù)載均衡關(guān)鍵技術(shù)研究[D];中南大學(xué);2009年
本文編號(hào):2877218
本文鏈接:http://www.lk138.cn/guanlilunwen/ydhl/2877218.html