Netty介紹和應用場景
要求
已經掌握了 主要技術構成:
Netty的介紹
1、Netty 是由 JBOSS 提供的一個 Java 開源框架,現爲 Github上的獨立項目。
2、Netty 是一個異步的、基於事件驅動 的網絡應用框架,用以快速開發高性能、高可靠性的網絡 IO 程序。
3、Netty主要針對在TCP協議下,面向Clients端的高併發應用,或者Peer-to-Peer場景下的大量數據持續傳輸的應用。
4、Netty本質是一個NIO框架,適用於服務器通訊相關的多種應用場景
5、要透徹理解Netty , 需要先學習 NIO , 這樣我們才能閱讀 Netty 的源碼。
Netty的應用場景
互聯網行業
• 互聯網行業:在分佈式系統中,各個節點之間需要遠程服務調用,高性能的 RPC 框架必不可少,Netty 作爲異步高性能的通信框架,往往作爲基礎通信組件被這些 RPC 框架使用。
• 典型的應用有:阿里分佈式服務框架 Dubbo 的 RPC 框架使用 Dubbo 協議進行節點間通信,Dubbo 協議默認使用 Netty 作爲基礎通信組件,用於實現各進程節點之間的內部通信
遊戲行業
• 無論是手遊服務端還是大型的網絡遊戲,Java 語言得到了越來越廣泛的應用Netty 作爲高性能的基礎通信組件,提供了 TCP/UDP 和 HTTP 協議棧,方便定製和開發私有協議棧,賬號登錄服務器
• 地圖服務器之間可以方便的通過 Netty 進行高性能的通信
大數據領域
• 經典的 Hadoop 的高性能通信和序列化組件 Avro 的 RPC 框架,默認採用 Netty 進行跨界點通信
• 它的 Netty Service 基於 Netty 框架二次封裝實現。