先說說Netty
Netty是一個相當優(yōu)秀的通信框架,大多數(shù)的頂級開源框架中都有Netty的身影。具體它有多么優(yōu)秀,建議大家自行百度,我不如百度說的好。我只從應(yīng)用方面說說Netty。
應(yīng)用過程中,它最核心的東西叫handler,我們可以簡單理解它為消息處理器。收到的消息和出去的消息都會經(jīng)過一系列的handler加工處理。收到的消息我們叫它入站消息,發(fā)出去的消息我們叫它出站消息,因此handler又分為出站handler和入站handler。收到的消息只會被入站handler處理,發(fā)出去的消息只會被出站handler處理。
舉個例子,我們從網(wǎng)絡(luò)上收到的消息是二進制的字節(jié)碼,我們的目標是將消息轉(zhuǎn)換成java bean,這樣方便我們程序處理,針對這個場景我設(shè)計這么幾個入handler:
1)將字節(jié)轉(zhuǎn)換成String的handler;
2)將String轉(zhuǎn)成java bean的handler;
3)對java bean進行業(yè)務(wù)處理的handler。
發(fā)出去的消息呢,我設(shè)計這么幾個出站handler:
1)java bean 轉(zhuǎn)成String的handler;
2)String轉(zhuǎn)成byte的handler。
Netty是由JBOSS提供的一個java開源框架
Netty是由JBOSS提供的一個java開源框架,現(xiàn)為Github上的獨立項目。Netty提供異步的、事件驅(qū)動的網(wǎng)絡(luò)應(yīng)用程序框架和工具,用以快速開發(fā)高性能、高可靠性的網(wǎng)絡(luò)服務(wù)器和客戶端程序。
也就是說,Netty 是一個基于NIO的客戶、服務(wù)器端的編程框架,使用Netty 可以確保你快速和簡單的開發(fā)出一個網(wǎng)絡(luò)應(yīng)用,例如實現(xiàn)了某種協(xié)議的客戶、服務(wù)端應(yīng)用。Netty相當于簡化和流線化了網(wǎng)絡(luò)應(yīng)用的編程開發(fā)過程,例如:基于TCP和UDP的socket服務(wù)開發(fā)。
“快速”和“簡單”并不用產(chǎn)生維護性或性能上的問題。Netty 是一個吸收了多種協(xié)議(包括FTP、SMTP、HTTP等各種二進制文本協(xié)議)的實現(xiàn)經(jīng)驗,并經(jīng)過相當精心設(shè)計的項目。最終,Netty 成功的找到了一種方式,在保證易于開發(fā)的同時還保證了其應(yīng)用的性能,穩(wěn)定性和伸縮性。
關(guān)鍵詞: 先說說 含義作用 Netty是由 JBOSS提供的 一個java開源框架