Netty是基於Java NIO client-server的網絡應用框架,使用Netty可以快速開發網絡應用,例如服務器和客戶端協議。Netty提供了一種新的方式來開發網絡應用程序,這種新的方式使它很容易使用和具有很強的擴展性。Netty的內部實現是很複雜的,但是Netty提供了簡單易用的API從網絡處理代碼中解耦業務邏輯。Netty是完全基於NIO實現的,所以整個Netty都是異步的。
Netty的應用場景
互聯網行業
1)互聯網行業: 在分佈式系統中, 各個節點之間需要遠程服務調用, 高性能的RPC框架必不可少,Netty作爲
異步高性能的通信框架, 往往作爲基礎通信組件被這些RPC框架使用。
2)典型的應用有: 阿里分佈式服務框架Dubbo的RPC框架使用Dubbo協議進行節點間通信,Dubbo協議默
認使用Netty作爲基礎通信組件, 用於實現各進程節點之間的內部通信
遊戲行業
1)無論是手遊服務端還是大型的網絡遊戲,Java語言得到了越來越廣泛的應用
2) Netty作爲高性能的基礎通信組件, 提供了TCP/UDP和HTTP協議棧, 方便定製和開發私有協議棧, 賬號登
錄服務器
地圖服務器之間可以方便的通過Netty進行高性能的通信
大數據領域
1)經典的Hadoop的高性能通信和序列化組件Avro的RPC框架, 默認採用Netty進行跨界點通信
2)它的Netty Service基於Netty框架二次封裝實現。