Netty4 前言

2020-10-19 14:55 更新

前言

問題

今天,我們使用通用的應用程序或者類庫來實現互相通訊,比如,我們經常使用一個 HTTP 客戶端庫來從 web 服務器上獲取信息,或者通過 web 服務來執(zhí)行一個遠程的調用。

然而,有時候一個通用的協(xié)議或他的實現并沒有很好的滿足需求。比如我們無法使用一個通用的 HTTP 服務器來處理大文件、電子郵件以及近實時消息,比如金融信息和多人游戲數據。我們需要一個高度優(yōu)化的協(xié)議來處理一些特殊的場景。例如你可能想實現一個優(yōu)化了的 Ajax 的聊天應用、媒體流傳輸或者是大文件傳輸器,你甚至可以自己設計和實現一個全新的協(xié)議來準確地實現你的需求。

另一個不可避免的情況是當你不得不處理遺留的專有協(xié)議來確保與舊系統(tǒng)的互操作性。在這種情況下,重要的是我們如何才能快速實現協(xié)議而不犧牲應用的穩(wěn)定性和性能。

解決

Netty 是一個提供 asynchronous event-driven (異步事件驅動)的網絡應用框架,是一個用以快速開發(fā)高性能、高可靠性協(xié)議的服務器和客戶端。

換句話說,Netty 是一個 NIO 客戶端服務器框架,使用它可以快速簡單地開發(fā)網絡應用程序,比如服務器和客戶端的協(xié)議。Netty 大大簡化了網絡程序的開發(fā)過程比如 TCPUDPsocket 服務的開發(fā)。

“快速和簡單”并不意味著應用程序會有難維護和性能低的問題,Netty 是一個精心設計的框架,它從許多協(xié)議的實現中吸收了很多的經驗比如 FTP、SMTPHTTP、許多二進制和基于文本的傳統(tǒng)協(xié)議.因此,Netty 已經成功地找到一個方式,在不失靈活性的前提下來實現開發(fā)的簡易性,高性能,穩(wěn)定性。

有一些用戶可能已經發(fā)現其他的一些網絡框架也聲稱自己有同樣的優(yōu)勢,所以你可能會問是 Netty 和它們的不同之處。答案就是 Netty 的哲學設計理念。Netty 從開始就為用戶提供了用戶體驗最好的 API 以及實現設計。正是因為 Netty 的哲學設計理念,才讓您得以輕松地閱讀本指南并使用 Netty。


以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號