重磅!阿里P8費心整理Netty實戰(zhàn)+指南+項目白皮書PDF,總計1.08G
前言
Netty是一款用于快速開發(fā)高性能的網(wǎng)絡(luò)應(yīng)用程序的Java框架。它封裝了網(wǎng)絡(luò)編程的復(fù)雜性,使網(wǎng)絡(luò)編程和Web技術(shù)的最新進(jìn)展能夠被比以往更廣泛的開發(fā)人員接觸到。
Netty不只是一個接口和類的集合;它還定義了一種架構(gòu)模型以及一套豐富的設(shè)計模式。但是直到現(xiàn)在,依然缺乏一個全面的、系統(tǒng)性的用戶指南,已經(jīng)成為入門Netty的一個障礙。
面對這種情況特意給大家分享一波阿里P8費心整理Netty實戰(zhàn)+指南+項目白皮書技術(shù)文檔,希望大家能夠喜歡!!!
Netty實戰(zhàn):共分4個部分
本文是為想要或者正在使用Java從事高性能網(wǎng)絡(luò)編程的人而寫的,循序漸進(jìn)地介紹了Netty各個方面的內(nèi)容。
第一部分:Netty的概念及體系結(jié)構(gòu)
第一部分是對框架的詳細(xì)介紹,涵蓋了它的設(shè)計、組件以及編程接口。
第1章首先簡要概述了阻塞和非阻塞的網(wǎng)絡(luò)API,以及它們對應(yīng)的JDK接口。我們引入Netty作為構(gòu)建高度可伸縮的、異步的、事件驅(qū)動的網(wǎng)絡(luò)編程應(yīng)用的工具包。我們將首先看一下該框架的基礎(chǔ)構(gòu)件塊: Channel、 回調(diào)、Future、 事件及ChannelHandler。
第2章解釋了如何配置讀者的系統(tǒng)以構(gòu)建并運行本書中的示例代碼。我們將用一個簡單的應(yīng)閱讀本文不需要讀者精通Java網(wǎng)絡(luò)和并發(fā)編程。如果想要更加深入地理解本文背后的理念以及Netty源碼本身,可以系統(tǒng)地學(xué)習(xí)一下Java網(wǎng)絡(luò)編程、NIO、并發(fā)和異步編程以及相關(guān)的設(shè)計模式。
用程序來測試它,這是一-個回送從連接的客戶端接收到的消息的服務(wù)器應(yīng)用程序。我們還介紹了
引導(dǎo)( Bootstrap)一在運行時組裝 和配置- - 個應(yīng)用程序的所有組件的過程。
第3章首先討論了Netty 的技術(shù)以及體系結(jié)構(gòu)方面的內(nèi)容。介紹了該框架的核心組件:Channel、EventLoop、 Channe1Handler以及ChannelPipeline。這一-章的最后解釋了引導(dǎo)服務(wù)器和客戶端之間的差異。
第4章討論了網(wǎng)絡(luò)傳輸,并且對比了通過JDK API和Netty使用阻塞和非阻塞傳輸?shù)挠梅āN覀冄芯苛薔etty的傳輸API的底層接口的層級關(guān)系以及它們所支持的傳輸類型。
第5章專門介紹了該框架的數(shù)據(jù)處理API一ByteBuf, Netty 的字節(jié)容器。我們描述了它相對于JDK的ByteBuffer的優(yōu)勢,以及如何分配和訪問由ByteBuf所使用的內(nèi)存。我們展示了如何通過引用計數(shù)來管理內(nèi)存資源。
第6章重點介紹了核心組件Channel Handler和ChannelPipeline,它們負(fù)責(zé)調(diào)度應(yīng)用程序的處理邏輯,并驅(qū)動數(shù)據(jù)和事件經(jīng)過網(wǎng)絡(luò)層。其他的主題包括在實現(xiàn)高級用例時ChannelHandlerContext的角色,以及在多個ChannelPipeline之間共享ChannelHandler的緣由。這一-章的最后說明了如何處理由人站事件和出站事件所觸發(fā)的異常。
第7章提供了關(guān)于線程模型的- -般概述,并詳細(xì)地介紹了Netty的線程模型。我們研究了interface EventLoop,它是Netty 的并發(fā)API的主要部分,并解釋了它和線程以及Channel的關(guān)系。這個信息對于理解Netty是如何實現(xiàn)異步的、事件驅(qū)動的網(wǎng)絡(luò)編程模型來說至關(guān)重要。我們展示了如何通過EventLoop進(jìn)行任務(wù)調(diào)度。
第8章以介紹Bootstrap類的層級結(jié)構(gòu)作為引子,深人地講解了引導(dǎo)。我們重新審視了一些基本用例以及-些特殊用例,例如,在- -個服務(wù)器應(yīng)用程序中引導(dǎo)-個客戶 端連接、引導(dǎo)數(shù)據(jù)報Channel,以及在引導(dǎo)的過程中添加多個Channe1Handler。這一章最后討論了如何優(yōu)雅地關(guān)閉應(yīng)用程序并有序地釋放所有的資源。
第9章是關(guān)于對ChannelHandler進(jìn)行單元測試的討論,對此Netty 提供了一個特殊的Channel實現(xiàn)一EmbeddedChannel。 本章的示例展示了如何使用這個類和JUnit 一起來測試人站和出站ChannelHandler實現(xiàn)。
第二部分:編解碼器
數(shù)據(jù)轉(zhuǎn)換是網(wǎng)絡(luò)編程中最常見的操作之一。第二部分介紹了Netty 提供的用于簡化這一任務(wù)的豐富的工具集。
第10章首先解釋了解碼器和編碼器,它們將字節(jié)序列從一種格式轉(zhuǎn)換為另外一種格式。一個無處不在的例子便是將--個非結(jié)構(gòu)化的字節(jié)流轉(zhuǎn)換為--個特定于協(xié)議的布局結(jié)構(gòu),或者相反的。編解碼器則是一個結(jié)合了編碼器以及解碼器以處理雙向轉(zhuǎn)換的組件。我們提供了幾個例子,展示了通過Netty的編解碼器框架類創(chuàng)建自定義的解碼器以及編碼器是多么地容易。
第11章研究了Netty提供的用于各種用例的編解碼器以及ChannelHandler。這些類包括用于協(xié)議的(如SSL/TLS、HTTP/HTTPS、WebSocket 以及SPDY )即用型的編解碼器,以及能夠通過擴(kuò)展來處理幾乎任意的基于分隔符的協(xié)議、變長協(xié)議或者定長協(xié)議的解碼器。這一章的最后介紹了用于寫人大型數(shù)據(jù)的和用于序列化的框架組件。
第三部分:網(wǎng)絡(luò)協(xié)議
第三部分詳細(xì)闡述了幾種本書前面簡要介紹過的網(wǎng)絡(luò)協(xié)議。我們將會再次看到Netty是如何使你能在自己的應(yīng)用程序中輕松采用復(fù)雜的API,而又不必關(guān)心其內(nèi)部復(fù)雜性的。
第12章展示了如何使用WebSocket協(xié)議來實現(xiàn)Web服務(wù)器和客戶端之間的雙向通信。示例程序是一個聊天室服務(wù)器,其允許所有已連接的用戶與其他已連接的用戶進(jìn)行實時通信。
第13章通過利用了用戶數(shù)據(jù)報協(xié)議(UDP)的廣播能力的服務(wù)器和客戶端應(yīng)用程序,說明了Netty 對于無連接協(xié)議的支持。如同前面的那些示例-樣,我們使用了一組特定于協(xié)議的支持類: DatagramPacket和NioDatagr amChannel。
第四部分:案例研究
第四部分介紹了由使用Netty實現(xiàn)了任務(wù)關(guān)鍵型系統(tǒng)的知名公司提交的5份案例研究。這些案例不僅說明了我們在整本書中所討論過的框架各個組件在現(xiàn)實世界中的應(yīng)用,而且還演示了Netty的設(shè)計以及架構(gòu)原則,在構(gòu)建高度可伸縮和可擴(kuò)展的應(yīng)用程序方面的應(yīng)用。
第14章有Droplr、Firebase 以及Urban Airship提交的案例研究。
第15章有Facebook和Twitter提交的案例研究。
Netty權(quán)威指南
本文是異步非阻塞通信領(lǐng)域的經(jīng)典之作,基于最新版本Netty 5.0 編寫,是國內(nèi)首本深入介紹Netty原理和架構(gòu)的技術(shù)文檔,也是作者多年實戰(zhàn)經(jīng)驗的總結(jié)和濃縮。
內(nèi)容包含基礎(chǔ)功能、高級應(yīng)用、系統(tǒng)架構(gòu)、源碼分析和行業(yè)應(yīng)用,深入闡述了Java 1/O 的Netty NIO開發(fā)、Netty 編解碼開發(fā)、Netty多協(xié)議開發(fā)等各方面的技術(shù)要點,包含了對源碼的深刻解讀,并且對Netty的應(yīng)用現(xiàn)狀和未來趨勢進(jìn)行分析,旨在幫助從業(yè)人員提升自我,更快更明確地發(fā)展職業(yè)道路。
本文適合架構(gòu)師、設(shè)計師、軟件開發(fā)工程師、測試人員和其他對JavaNIO框架、Java通信感興趣的相關(guān)人士閱讀,相信通過學(xué)習(xí)本書,能夠熟悉和掌握Netty這一優(yōu)秀的異步通信框架,實現(xiàn)高可用分布式系統(tǒng)的構(gòu)建。
Netty項目白皮書
Netty實戰(zhàn)+項目白皮書+視頻
需要的小伙伴可以轉(zhuǎn)發(fā)關(guān)注小編,↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

浙公網(wǎng)安備 33010602011771號