Netty有什么作用?
Netty是由JBOSS提供的一個(gè)java開(kāi)源框架。Netty提供異步的、事件驅(qū)動(dòng)的網(wǎng)絡(luò)應(yīng)用程序框架和工具,用以快速開(kāi)發(fā)高性能、高可靠性的網(wǎng)絡(luò)服務(wù)器和客戶(hù)端程序。也就是說(shuō),Netty是一個(gè)基于NIO的客戶(hù),服務(wù)器端編程框架,使用Netty可以確保你快速和簡(jiǎn)單的開(kāi)發(fā)出一個(gè)網(wǎng)絡(luò)應(yīng)用,例如實(shí)現(xiàn)了某種協(xié)議的客戶(hù),服務(wù)端應(yīng)用。Netty相當(dāng)簡(jiǎn)化和流線化了網(wǎng)絡(luò)應(yīng)用的編程開(kāi)發(fā)過(guò)程,例如,TCP和UDP的socket服務(wù)開(kāi)發(fā)。“快速”和“簡(jiǎn)單”并不意味著會(huì)讓你的最終應(yīng)用產(chǎn)生維護(hù)性或性能上的問(wèn)題。Netty是一個(gè)吸收了多種協(xié)議的實(shí)現(xiàn)經(jīng)驗(yàn),這些協(xié)議包括FTP,SMTP,HTTP,各種二進(jìn)制,文本協(xié)議,并經(jīng)過(guò)相當(dāng)精心設(shè)計(jì)的項(xiàng)目,最終,Netty成功的找到了一種方式,在保證易于開(kāi)發(fā)的同時(shí)還保證了其應(yīng)用的性能,穩(wěn)定性和伸縮性。
Netty和Tomcat有什么區(qū)別?
Netty和Tomcat最大的區(qū)別就在于通信協(xié)議,Tomcat是基于Http協(xié)議的,他的實(shí)質(zhì)是一個(gè)基于http協(xié)議的web容器,但是Netty不一樣,他能通過(guò)編程自定義各種協(xié)議,因?yàn)閚etty能夠通過(guò)codec自己來(lái)編碼/解碼字節(jié)流,完成類(lèi)似redis訪問(wèn)的功能,這就是netty和tomcat最大的不同。
有人說(shuō)netty的性能就一定比tomcat性能高,其實(shí)不然,tomcat從6.x開(kāi)始就支持了nio模式,并且后續(xù)還有APR模式——一種通過(guò)jni調(diào)用apache網(wǎng)絡(luò)庫(kù)的模式,相比于舊的bio模式,并發(fā)性能得到了很大提高,特別是APR模式,而netty是否比tomcat性能更高,則要取決于netty程序作者的技術(shù)實(shí)力了。
為什么Netty受歡迎?
netty是一款收到大公司青睞的框架,在我看來(lái),netty能夠受到青睞的原因有三:
并發(fā)高
傳輸快
封裝好