《Netty權威指南》是2014年電子工業出版社出版的圖書,作者是李林鋒。
基本介紹
- 中文名:Netty權威指南
- 作者:李林鋒
- 出版社:電子工業出版社
- 出版時間:2014年6月1日
- 頁數:507 頁
- 開本:16 開
- ISBN:9787121233432
- 外文名:Netty:The Definitive Guide
- 語種:簡體中文
內容簡介,圖書目錄,作者簡介,專業推薦,媒體推薦,名人推薦,
內容簡介
資深一線專家誠意之作,總結多年實踐經驗,帶你全面掌握Java高並發異步通信的首選框架——Netty。
- 阿里巴巴、JBoss 、Facebook、並發編程網、唯品會、1號店等多位資深技術專家聯名力薦。
《Netty權威指南》是異步非阻塞通信領域的經典之作,是國內首本深入分析和講解Netty原理和架構的著作,內容包含基礎功能、高級套用、系統架構、源碼分析和行業套用,深入闡述了Java I/O的Netty NIO開發、Netty編解碼開發、Netty多協定開發等各方面的技術要點,包含了對源碼的深刻解讀,並且對Netty的套用現狀和未來趨勢進行分析,旨在幫助從業人員提升自我,更快更明確地發展職業道路。
Netty是什麼?使用Netty能夠做什麼?為什麼要從傳統的Socket開發切換到NIO進行編程?為什麼不直接基於JDK的NIO類庫編程而選擇Netty?如何全面系統地掌握Netty,進行Netty NIO開發、Netty編解碼開發、Netty多協定開發?如何通過對Netty源碼的學習獲得更深入地知識?掌握了Netty後,如何將其套用到實際架構中?Netty工程師的就業前景和可涉足的行業是怎樣的?本書都會一一解答。
《Netty權榜辯格威指南》是異步非阻塞通信領域的經典之作,基於最新版本Netty 5.0編寫,是國內首本深入介紹Netty原理和架構的技企漿屑術書籍,也是作者多年實戰經驗的總結和濃縮。在理論方面蘭市殼頌,講解了Netty的邏輯架構模型和核心類庫的設計原理,而且對Netty在大數據、網際網路、遊戲行業的套用進行了深入分析;實戰方面,從第一個Netty入門程式到私有協定棧的設計和開發,通過實際例程,元坑遷由淺入深地對Netty的核心API和類庫的功能和用法進行了細緻講解。本書適合架構師、設計師、軟體開發工程師、測試人員和其他對Java NIO框架、Java通信感興趣的相關人士閱謎檔拒讀,相信通過學習本書,能夠熟悉和掌握Netty這一優秀的異步通信框架,實現高可用分散式系統的構建。
圖書目錄
基礎篇走進JavaNIO
第1章Java的I∕O演進之路2
1.1I∕O基礎入門3
1.1.1Linux網路I∕O模型簡介3
1.1.2I∕O多路復用技術6
1.2Java的I∕O演進8
1.3總結10
第2章NIO入門11
2.1傳統的BIO編程11
2.1.1BIO通信模型圖12
2.1.2同步阻塞式I∕O創建的TimeServer源碼分析13
2.1.3同步阻塞式I∕O創建的TimeClient源碼分析16
2.2偽異步I∕O編程18
2.2.1偽異步I∕O模型圖19
2.2.2偽異步式I∕O創建的TimeServer源碼分析19
2.2.3偽異步I∕O弊端分析21
2.3NIO編程24
2.3.1NIO類庫簡介24
2.3.2NIO服務端序列圖28
2.3.3NIO創建的TimeServer源碼分析31
2.3.4NIO客戶端序列圖36
2.3.5NIO創建的TimeClient源碼分析39
2.4AIO編程45
2.4.1AIO創建的TimeServer源碼分析46
2.4.2AIO創建的TimeClient源碼分析52
2.4.3AIO版本時間伺服器運行結果56
2.54種I∕O的對比58
2.5.1概念澄清58
2.5.2不同I∕O模型對比60
2.6選擇Netty的理由60
2.6.1不選擇Java原生NIO編程的原因61
2.6.2為什麼選擇Netty62
2.7總結63
入門篇NettyNIO開放漿發指南
第3章Netty入門套用66
3.1Netty開發環境的搭建66
3.1.1下載Netty的軟體包67
3.1.2搭建Netty套用工程67
3.2Netty服務端開發68
3.3Netty客戶端開發73
3.4運行和調試76
3.4.1服務端和客戶端的運行76
3.4.2打包和部署77
3.5總結78
第4章TCP粘包∕拆包問題的婆想良巴解決之道79
4.1TCP粘包∕拆包79
4.1.1TCP粘包∕拆包問題說明80
4.1.2TCP粘包∕拆包發生的原因80
4.1.3粘包問題的解決策略81
4.2未考慮TCP粘包導致功能異常案例82
4.2.1TimeServer的改造82
4.2.2TimeClient的改造83
4.2.3運行結果84
4.3利用LineBasedFrameDecoder解決TCP粘包問題88
4.3.1支持TCP粘包的TimeServer88
4.3.2支持TCP粘包的TimeClient90
4.3.3運行支持TCP粘包的時間伺服器程式93
4.3.4LineBasedFrameDecoder和StringDecoder的原理分析98
4.4總結99
第5章分隔設定和定長解碼器的套用100
5.1DelimiterBasedFrameDecoder套用開發101
5.1.1DelimiterBasedFrameDecoder服務端開發101
5.1.2DelimiterBasedFrameDecoder客戶端開發104
5.1.3運行DelimiterBasedFrameDecoder服務端和客戶端106
5.2FixedLengthFrameDecoder套用開發108
5.2.1FixedLengthFrameDecoder服務端開發108
5.2.2利用telnet命令行測試EchoServer服務端110
5.3總結111
中級篇Netty編解碼開發指南
第6章編解碼技術114
6.1Java序列化的缺點115
6.1.1無法跨語言115
6.1.2序列化後的碼流太大115
6.1.3序列化性能太低118
6.2業界主流的編解碼框架121
6.2.1Google的Protobuf介紹121
6.2.2Facebook的Thrift介紹123
6.2.3JBossMarshalling介紹124
6.3總結125
第7章Java序列化126
7.1NettyJava序列化服務端開發126
7.2Java序列化Netty客戶端開發132
7.3運行結果135
7.4總結137
第8章GoogleProtobuf編解碼138
8.1Protobuf的入門139
8.1.1Protobuf開發環境搭建139
8.1.2Protobuf編解碼開發141
8.1.3運行Protobuf例程143
8.2Netty的Protobuf服務端開發143
8.2.1Protobuf版本的圖書訂購服務端開發144
8.2.2Protobuf版本的圖書訂購客戶端開發146
8.2.3Protobuf版本的圖書訂購程式功能測試149
8.3Protobuf的使用注意事項152
8.4總結153
第9章JBossMarshalling編解碼154
9.1Marshalling開發環境準備154
9.2Netty的Marshalling服務端開發155
9.3Netty的Marshalling客戶端開發158
9.4運行Marshalling客戶端和服務端例程160
9.5總結162
高級篇Netty多協定開發和套用
第10章HTTP協定開發套用164
10.1HTTP協定介紹165
10.1.1HTTP協定的URL165
10.1.2HTTP請求訊息(HttpRequest)165
10.1.3HTTP回響訊息(HttpResponse)168
10.2NettyHTTP服務端入門開發169
10.2.1HTTP服務端例程場景描述170
10.2.2HTTP服務端開發170
10.2.3NettyHTTP檔案伺服器例程運行結果178
10.3NettyHTTP+XML協定棧開發182
10.3.1開發場景介紹183
10.3.2HTTP+XML協定棧設計186
10.3.3高效的XML綁定框架JiBx187
10.3.4HTTP+XML編解碼框架開發195
10.3.5HTTP+XML協定棧測試211
10.3.6小結213
10.4總結214
第11章WebSocket協定開發215
11.1HTTP協定的弊端216
11.2WebSocket入門216
11.2.1WebSocket背景217
11.2.2WebSocket連線建立218
11.2.3WebSocket生命周期219
11.2.4WebSocket連線關閉220
11.3NettyWebSocket協定開發221
11.3.1WebSocket服務端功能介紹221
11.3.2WebSocket服務端開發222
11.3.3運行WebSocket服務端230
11.4總結231
第12章UDP協定開發233
12.1UDP協定簡介234
12.2UDP服務端開發235
12.3UDP客戶端開發238
12.4運行UDP例程240
12.5總結241
第13章檔案傳輸242
13.1檔案的基礎知識243
13.1.1檔案的概念243
13.1.2檔案路徑243
13.1.3檔案名稱稱244
13.1.4FileChannel簡介244
13.2Netty檔案傳輸開發245
13.3運行Netty檔案傳輸服務例程248
13.4總結250
第14章私有協定棧開發251
14.1私有協定介紹251
14.2Netty協定棧功能設計253
14.2.1網路拓撲圖253
14.2.2協定棧功能描述254
14.2.3通信模型254
14.2.4訊息定義255
14.2.5Netty協定支持的欄位類型256
14.2.6Netty協定的編解碼規範257
14.2.7鏈路的建立259
14.2.8鏈路的關閉260
14.2.9可靠性設計260
14.2.10安全性設計262
14.2.11可擴展性設計262
14.3Netty協定棧開發263
14.3.1數據結構定義263
14.3.2訊息編解碼267
14.3.3握手和安全認證271
14.3.4心跳檢測機制275
14.3.5斷連重連278
14.3.6客戶端代碼279
14.3.7服務端代碼281
14.4運行協定棧282
14.4.1正常場景282
14.4.2異常場景:服務端宕機重啟283
14.4.3異常場景:客戶端宕機重啟286
14.5總結286
……
源碼分析篇Netty功能介紹和源碼分析
架構和行業套用篇Netty高級特性
附錄ANetty參數配置表
作者簡介
李林鋒:Netty中國推廣者,現華為技術有限公司平台中間件架構與設計部設計師,公司總裁技術創新獎獲得者。長期從事高性能通信軟體的架構設計和開發工作,有多年在NIO領域的設計、開發和運維經驗,精通NIO編程和Netty、Mina等主流NIO框架。
專業推薦
媒體推薦
與林鋒兄相識甚早,他在NIO相關領域實戰經驗豐富,成績斐然,並且樂於分享,旨在幫助更多人得到技術上的進步,是一位我很尊敬的技術思考者、實踐者和推廣者。Netty作為Dubbo底層的高性能分散式通信框架,在實際開發中,我非常關心如高效序列化/編解碼、執行緒模型調優、高效Buffer使用、心跳重連策略、優雅停機、宕機異常處理、NIO並發安全處理等核心問題,而本書中對這些問題都進行了詳細說明,並提煉出了處理原則,給出了提綱挈領般的引導。書中對這些問題的分析總結可以得到不少從頭摸爬滾打才能獲得的收穫,希望你和我一樣能有眼前一亮的感覺。
——阿里巴巴Dubbo、PaaS平台核心開發架構師 李鼎
Netty是一個令人驚訝的項目,在短短几年成為眾多Java高並發異步通信的首選框架。但目前國內資料極少並缺乏系統性,而李兄的這本系統介紹Netty開發和原理的書籍,很完美地填補了這個空白。國內的技術人員對Java NIO和Netty理解多一些,也就意味著國內整體網路編程技術的進步。本書條理清晰,對技術的闡述循序漸進,是一本難得的Netty學習教材,推薦有志青年仔細學習研究本書,共同把NIO異步通信編程推向一個新高度。
——JBoss套用伺服器核心開發組成員 張建鋒
Netty的卓越之處在於它是一個高性能、異步事件驅動的NIO框架,目前很多著名的開源框架開始將底層的通信框架切換到Netty,如Hadoop、Storm等,Facebook的後台也即將啟用這一優秀框架。希望這本書的面市能夠對於Netty在國內的發展起到推動作用。
——Facebook資深工程師 覃超
經常有很多Java領域的應屆生和程式設計師來諮詢我我,說自己非常希望找到心儀的工作,但是不知道如何學習和提高。在Java中我覺得比較有挑戰性的技術就是網路I/O編程和多執行緒並發編程,而Netty作為企業高性能異步NIO通信的首選框架,在Facebook、Twitter、阿里巴巴等著名公司都得到了套用,學習和掌握它,對於個人的職業和技術發展都極具意義。本書正是一本引領我們由淺入深學習Netty的寶典,非常值得仔細研讀和思考。
——並發編程網站長 方騰飛
大數據時代的來臨使Netty的優勢得以更廣泛的發揮。在分散式集群中進行大數據計算,伴隨著海量數據在不同計算節點間的傳輸——這個工作在目前流行的Spark、Storm和Hadoop中,都是由Netty來實現的,它就好像是大數據計算的血管一般。深入大數據計算,Netty是必須掌握的技能之一。
——唯品會高級軟體開發工程師 姚仁捷
網路通信框架Netty已經逐漸成為了構建高可用分散式系統核心組件通信的基礎,它的執行緒模型、零拷貝和多協定支持也讓從業者們愛不釋手,林鋒兄作為國內NIO領域和Netty框架研究最早、水平最高的架構師之一,在本書中對Netty進行了全面的解析,其中大量的源碼剖析和實戰講解給想學習NIO編程和Netty,進階分散式的同學提出了一些思想或者說指引了前進方向,非常推薦。
——1號店資深架構師 彭榮新
Netty提供了高穩定性、高性能的網路編程接口,封裝了TCP/UDP複雜的Socket實現細節,簡單易用。本書由淺入深,適合不同層次的工程師閱讀!
——阿里巴巴網站高性能技術架構師 周濤明
名人推薦
由於傳統基於BIO的同步阻塞通信無法滿足高可靠、高性能的Java伺服器領域,從JDK1.4開始,Java提供了一套新的異步非阻塞I/O類庫:NIO。然而由於NIO編程的複雜性,很長一段時間NIO編程並沒有流行起來。Netty等NIO框架的誕生和流行,彌補了原生NIO類庫的不足,使得基於異步非阻塞模式開發的套用伺服器越來越多。例如,Facebook、Twitter、阿里巴巴等都使用Netty構建高性能的分散式服務框架。儘管Netty在業界和國內已經得到廣泛的套用,然而並沒有一本系統性的Netty教材來講解Netty的原理、架構和最佳實踐。本書由淺入深的引領讀者掌握Netty主要類庫的使用,編解碼框架的定製和開發,私有協定棧的設計和實現。在源碼分析章節對Netty的核心類庫進行原理剖析和講解。最後,通過行業套用讓大家掌握如何在不同的領域和行業套用Netty解決實際問題。
2.3.1NIO類庫簡介24
2.3.2NIO服務端序列圖28
2.3.3NIO創建的TimeServer源碼分析31
2.3.4NIO客戶端序列圖36
2.3.5NIO創建的TimeClient源碼分析39
2.4AIO編程45
2.4.1AIO創建的TimeServer源碼分析46
2.4.2AIO創建的TimeClient源碼分析52
2.4.3AIO版本時間伺服器運行結果56
2.54種I∕O的對比58
2.5.1概念澄清58
2.5.2不同I∕O模型對比60
2.6選擇Netty的理由60
2.6.1不選擇Java原生NIO編程的原因61
2.6.2為什麼選擇Netty62
2.7總結63
入門篇NettyNIO開發指南
第3章Netty入門套用66
3.1Netty開發環境的搭建66
3.1.1下載Netty的軟體包67
3.1.2搭建Netty套用工程67
3.2Netty服務端開發68
3.3Netty客戶端開發73
3.4運行和調試76
3.4.1服務端和客戶端的運行76
3.4.2打包和部署77
3.5總結78
第4章TCP粘包∕拆包問題的解決之道79
4.1TCP粘包∕拆包79
4.1.1TCP粘包∕拆包問題說明80
4.1.2TCP粘包∕拆包發生的原因80
4.1.3粘包問題的解決策略81
4.2未考慮TCP粘包導致功能異常案例82
4.2.1TimeServer的改造82
4.2.2TimeClient的改造83
4.2.3運行結果84
4.3利用LineBasedFrameDecoder解決TCP粘包問題88
4.3.1支持TCP粘包的TimeServer88
4.3.2支持TCP粘包的TimeClient90
4.3.3運行支持TCP粘包的時間伺服器程式93
4.3.4LineBasedFrameDecoder和StringDecoder的原理分析98
4.4總結99
第5章分隔設定和定長解碼器的套用100
5.1DelimiterBasedFrameDecoder套用開發101
5.1.1DelimiterBasedFrameDecoder服務端開發101
5.1.2DelimiterBasedFrameDecoder客戶端開發104
5.1.3運行DelimiterBasedFrameDecoder服務端和客戶端106
5.2FixedLengthFrameDecoder套用開發108
5.2.1FixedLengthFrameDecoder服務端開發108
5.2.2利用telnet命令行測試EchoServer服務端110
5.3總結111
中級篇Netty編解碼開發指南
第6章編解碼技術114
6.1Java序列化的缺點115
6.1.1無法跨語言115
6.1.2序列化後的碼流太大115
6.1.3序列化性能太低118
6.2業界主流的編解碼框架121
6.2.1Google的Protobuf介紹121
6.2.2Facebook的Thrift介紹123
6.2.3JBossMarshalling介紹124
6.3總結125
第7章Java序列化126
7.1NettyJava序列化服務端開發126
7.2Java序列化Netty客戶端開發132
7.3運行結果135
7.4總結137
第8章GoogleProtobuf編解碼138
8.1Protobuf的入門139
8.1.1Protobuf開發環境搭建139
8.1.2Protobuf編解碼開發141
8.1.3運行Protobuf例程143
8.2Netty的Protobuf服務端開發143
8.2.1Protobuf版本的圖書訂購服務端開發144
8.2.2Protobuf版本的圖書訂購客戶端開發146
8.2.3Protobuf版本的圖書訂購程式功能測試149
8.3Protobuf的使用注意事項152
8.4總結153
第9章JBossMarshalling編解碼154
9.1Marshalling開發環境準備154
9.2Netty的Marshalling服務端開發155
9.3Netty的Marshalling客戶端開發158
9.4運行Marshalling客戶端和服務端例程160
9.5總結162
高級篇Netty多協定開發和套用
第10章HTTP協定開發套用164
10.1HTTP協定介紹165
10.1.1HTTP協定的URL165
10.1.2HTTP請求訊息(HttpRequest)165
10.1.3HTTP回響訊息(HttpResponse)168
10.2NettyHTTP服務端入門開發169
10.2.1HTTP服務端例程場景描述170
10.2.2HTTP服務端開發170
10.2.3NettyHTTP檔案伺服器例程運行結果178
10.3NettyHTTP+XML協定棧開發182
10.3.1開發場景介紹183
10.3.2HTTP+XML協定棧設計186
10.3.3高效的XML綁定框架JiBx187
10.3.4HTTP+XML編解碼框架開發195
10.3.5HTTP+XML協定棧測試211
10.3.6小結213
10.4總結214
第11章WebSocket協定開發215
11.1HTTP協定的弊端216
11.2WebSocket入門216
11.2.1WebSocket背景217
11.2.2WebSocket連線建立218
11.2.3WebSocket生命周期219
11.2.4WebSocket連線關閉220
11.3NettyWebSocket協定開發221
11.3.1WebSocket服務端功能介紹221
11.3.2WebSocket服務端開發222
11.3.3運行WebSocket服務端230
11.4總結231
第12章UDP協定開發233
12.1UDP協定簡介234
12.2UDP服務端開發235
12.3UDP客戶端開發238
12.4運行UDP例程240
12.5總結241
第13章檔案傳輸242
13.1檔案的基礎知識243
13.1.1檔案的概念243
13.1.2檔案路徑243
13.1.3檔案名稱稱244
13.1.4FileChannel簡介244
13.2Netty檔案傳輸開發245
13.3運行Netty檔案傳輸服務例程248
13.4總結250
第14章私有協定棧開發251
14.1私有協定介紹251
14.2Netty協定棧功能設計253
14.2.1網路拓撲圖253
14.2.2協定棧功能描述254
14.2.3通信模型254
14.2.4訊息定義255
14.2.5Netty協定支持的欄位類型256
14.2.6Netty協定的編解碼規範257
14.2.7鏈路的建立259
14.2.8鏈路的關閉260
14.2.9可靠性設計260
14.2.10安全性設計262
14.2.11可擴展性設計262
14.3Netty協定棧開發263
14.3.1數據結構定義263
14.3.2訊息編解碼267
14.3.3握手和安全認證271
14.3.4心跳檢測機制275
14.3.5斷連重連278
14.3.6客戶端代碼279
14.3.7服務端代碼281
14.4運行協定棧282
14.4.1正常場景282
14.4.2異常場景:服務端宕機重啟283
14.4.3異常場景:客戶端宕機重啟286
14.5總結286
……
源碼分析篇Netty功能介紹和源碼分析
架構和行業套用篇Netty高級特性
附錄ANetty參數配置表
作者簡介
李林鋒:Netty中國推廣者,現華為技術有限公司平台中間件架構與設計部設計師,公司總裁技術創新獎獲得者。長期從事高性能通信軟體的架構設計和開發工作,有多年在NIO領域的設計、開發和運維經驗,精通NIO編程和Netty、Mina等主流NIO框架。
專業推薦
媒體推薦
與林鋒兄相識甚早,他在NIO相關領域實戰經驗豐富,成績斐然,並且樂於分享,旨在幫助更多人得到技術上的進步,是一位我很尊敬的技術思考者、實踐者和推廣者。Netty作為Dubbo底層的高性能分散式通信框架,在實際開發中,我非常關心如高效序列化/編解碼、執行緒模型調優、高效Buffer使用、心跳重連策略、優雅停機、宕機異常處理、NIO並發安全處理等核心問題,而本書中對這些問題都進行了詳細說明,並提煉出了處理原則,給出了提綱挈領般的引導。書中對這些問題的分析總結可以得到不少從頭摸爬滾打才能獲得的收穫,希望你和我一樣能有眼前一亮的感覺。
——阿里巴巴Dubbo、PaaS平台核心開發架構師 李鼎
Netty是一個令人驚訝的項目,在短短几年成為眾多Java高並發異步通信的首選框架。但目前國內資料極少並缺乏系統性,而李兄的這本系統介紹Netty開發和原理的書籍,很完美地填補了這個空白。國內的技術人員對Java NIO和Netty理解多一些,也就意味著國內整體網路編程技術的進步。本書條理清晰,對技術的闡述循序漸進,是一本難得的Netty學習教材,推薦有志青年仔細學習研究本書,共同把NIO異步通信編程推向一個新高度。
——JBoss套用伺服器核心開發組成員 張建鋒
Netty的卓越之處在於它是一個高性能、異步事件驅動的NIO框架,目前很多著名的開源框架開始將底層的通信框架切換到Netty,如Hadoop、Storm等,Facebook的後台也即將啟用這一優秀框架。希望這本書的面市能夠對於Netty在國內的發展起到推動作用。
——Facebook資深工程師 覃超
經常有很多Java領域的應屆生和程式設計師來諮詢我我,說自己非常希望找到心儀的工作,但是不知道如何學習和提高。在Java中我覺得比較有挑戰性的技術就是網路I/O編程和多執行緒並發編程,而Netty作為企業高性能異步NIO通信的首選框架,在Facebook、Twitter、阿里巴巴等著名公司都得到了套用,學習和掌握它,對於個人的職業和技術發展都極具意義。本書正是一本引領我們由淺入深學習Netty的寶典,非常值得仔細研讀和思考。
——並發編程網站長 方騰飛
大數據時代的來臨使Netty的優勢得以更廣泛的發揮。在分散式集群中進行大數據計算,伴隨著海量數據在不同計算節點間的傳輸——這個工作在目前流行的Spark、Storm和Hadoop中,都是由Netty來實現的,它就好像是大數據計算的血管一般。深入大數據計算,Netty是必須掌握的技能之一。
——唯品會高級軟體開發工程師 姚仁捷
網路通信框架Netty已經逐漸成為了構建高可用分散式系統核心組件通信的基礎,它的執行緒模型、零拷貝和多協定支持也讓從業者們愛不釋手,林鋒兄作為國內NIO領域和Netty框架研究最早、水平最高的架構師之一,在本書中對Netty進行了全面的解析,其中大量的源碼剖析和實戰講解給想學習NIO編程和Netty,進階分散式的同學提出了一些思想或者說指引了前進方向,非常推薦。
——1號店資深架構師 彭榮新
Netty提供了高穩定性、高性能的網路編程接口,封裝了TCP/UDP複雜的Socket實現細節,簡單易用。本書由淺入深,適合不同層次的工程師閱讀!
——阿里巴巴網站高性能技術架構師 周濤明
名人推薦
由於傳統基於BIO的同步阻塞通信無法滿足高可靠、高性能的Java伺服器領域,從JDK1.4開始,Java提供了一套新的異步非阻塞I/O類庫:NIO。然而由於NIO編程的複雜性,很長一段時間NIO編程並沒有流行起來。Netty等NIO框架的誕生和流行,彌補了原生NIO類庫的不足,使得基於異步非阻塞模式開發的套用伺服器越來越多。例如,Facebook、Twitter、阿里巴巴等都使用Netty構建高性能的分散式服務框架。儘管Netty在業界和國內已經得到廣泛的套用,然而並沒有一本系統性的Netty教材來講解Netty的原理、架構和最佳實踐。本書由淺入深的引領讀者掌握Netty主要類庫的使用,編解碼框架的定製和開發,私有協定棧的設計和實現。在源碼分析章節對Netty的核心類庫進行原理剖析和講解。最後,通過行業套用讓大家掌握如何在不同的領域和行業套用Netty解決實際問題。