原創(chuàng)|行業(yè)資訊|編輯:龔雪|2014-06-18 10:34:19.000|閱讀 336 次
概述:每隔一段時(shí)間就有人發(fā)表Java和Node比較的性能評(píng)測,然而每個(gè)人都知道,評(píng)測是一個(gè)特殊的衡量方式,其實(shí)并不適用于所有的情況。有時(shí)候Java要快一些,有時(shí)候Node要快一些。當(dāng)然,用什么和怎么衡量才是最重要的。相信看完此文,你會(huì)有一些收獲!
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
高并發(fā)性問題
但是,有一件事我們都認(rèn)同:為了能適應(yīng)高并發(fā)的情況(成千上萬的連接),你的服務(wù)器需要采用異步非阻塞模式。你可能已經(jīng)在IO操作中實(shí)現(xiàn)了這種方式。但問題是,如果你的服務(wù)器代碼的任何部分可能產(chǎn)生阻塞,你都需要開啟一個(gè)線程。在這種級(jí)別的并發(fā)下,你不能去為每個(gè)連接創(chuàng)建線程。所以整個(gè)代碼路徑都需要異步非阻塞式的, 不僅僅在輸入輸出層。這就是Node擅長的地方。
盡管Java或Node或其他技術(shù)可能贏得一個(gè)評(píng)測,但到現(xiàn)在為止還沒有任何服務(wù)器端的語言,實(shí)現(xiàn)了像Node.js那樣完整的非阻塞生態(tài)系統(tǒng)。Node已經(jīng)實(shí)現(xiàn)了超過5W的異步方式的模塊了。散落在無數(shù)網(wǎng)頁的代碼示例里,所有的課程和教程都在使用這種異步方式。調(diào)試、顯示、記錄、集群管理、測試框架甚至更多其他更多代碼都是你所期待的非阻塞異步模式。
直到Java或另一種語言生態(tài)系統(tǒng)能到達(dá)支持這種異步模式的程度(在Node中能達(dá)到這種水平,是因?yàn)镴avaScript在瀏覽器中天生的異步基因),盡管它原始的非阻塞操作(non-blocking IO)性能可能比node或其他任何評(píng)測結(jié)果表現(xiàn)的更好;需要大并發(fā)的項(xiàng)目會(huì)選擇Node(并且忍受他的缺點(diǎn)),因?yàn)樗峭瓿晌覀冺?xiàng)目的最好方式。
大公司, 供應(yīng)商和社區(qū)
我們要幫助讓Node和其系統(tǒng)工具和庫保持成熟。其他人也在做著同樣的事情,從LinkedIn,雅虎與Groupon這樣的大用戶到像微軟,MuleSoft Appcelerator這樣的供應(yīng)商和個(gè)人開發(fā)者每年貢獻(xiàn)成千上萬個(gè)有用的模塊。Node將變得會(huì)越來越好,我們會(huì)幫助修復(fù)缺點(diǎn)或完全消除它們,異步的時(shí)代將會(huì)帶我們進(jìn)入數(shù)以百萬計(jì)的連接設(shè)備的樂土。
使用StrongOps 監(jiān)控node應(yīng)用程序
準(zhǔn)備好開始監(jiān)視事件循環(huán)(Event Loop),管理節(jié)點(diǎn)集群(node cluster)并找出內(nèi)存泄漏了嗎?我們可以很容易通過一個(gè)簡單的npm命令安裝,或從你本地,或你最喜歡的云開始使用StrongOps:
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:慧都控件網(wǎng)