漫畫:兄弟,下班別走啊,一起填坑!
后記:這篇漫畫是Netty有什么用處的一次科普, 希望大家看過以后至少能了解到一點:直接對Java NIO編程非常不容易,想寫出高并發(fā)的、健壯的程序很難,不僅要求超一流的編程技巧,還需要幾個復雜領域(網絡編程、多線程處理和并發(fā))的專業(yè)知識。Netty 優(yōu)雅地處理了這些領域的知識,使得即使是網絡編程新手也能使用。
Netty 是一款異步的事件驅動的網絡應用程序框架,支持快速地開發(fā)可維護的高性能的面向協議的服務器和客戶端, 它對Java NIO做了封裝,把那些復雜的底層細節(jié)都屏蔽了。注意幾個關鍵詞,首先它是個框架,是個“半成品”,不能開箱即用,你必須得拿過來做點定制,利用它開發(fā)出自己的應用程序,然后才能運行(就像使用Spring那樣)。 例如上文的張大胖想開發(fā)一個自己的高性能的RPC框架, RPC的調用協議,數據的格式和次序也是自己定義的,現有的HTTP根本玩不轉,那使用Netty就是絕佳的選擇。一個更加知名的例子就是阿里巴巴的Dubbo了,這個RPC框架的底層用的就是Netty。 其次就是高性能,高可靠,有了Netty,自己就不要基于NIO進行編程了。
【本文為51CTO專欄作者“劉欣”的原創(chuàng)稿件,轉載請通過作者微信公眾號coderising獲取授權】