Netty原理解析與開發實戰

Netty原理解析與開發實戰

《Netty原理解析與開發實戰》是北京大學出版社出版圖書。

基本介紹

  • 中文名:Netty原理解析與開發實戰
  • 作者:柳偉衛
  • 出版社北京大學出版社 
  • 出版時間:2021年1月1日
  • 頁數:636 頁
  • 開本:16 開
  • 裝幀:平裝
  • ISBN:9787301318072
內容簡介,圖書目錄,

內容簡介

本書介紹新Netty框架核心概念、設計原理,並通過詳細示例對知識點進行講解。該書分為以下幾部分:
入門(第1-2章):介紹Netty基本概念、架構。使讀者對Netty有初步的認識;
進階(第3-6章):介紹Netty核心組件及執行緒模型,包括Channel、緩衝、引導等。使讀者可以上手開發Netty套用;
高階(第7-12章):介紹Netty高級用法及綜合案例分析。使讀者能夠理解網路編碼中的高級用法;
實戰(第13章):演示基於Netty構建真實套用的過程。使讀者能夠掌握設計和開發Netty套用的能力。
本書主要面向的是對Java高並發、高性能網路編程感興趣的學生、開發人員和架構師。

圖書目錄

第1章 Netty 概述...... 1
1.1 Java 網路編程進化史 .....2
1.2 Netty 的優勢.... 18
1.3 Netty 核心概念..... 22
1.4 Netty 開發環境的搭建....... 24
1.5 實戰:快速開啟第一個 Netty 套用.... 30
第2章 Netty 架構設計 ......39
2.1 理解 Selector 模型...... 40
2.2 事件驅動........ 44
2.3 責任鏈模式.... 47
第3章 Channel ......51
3.1 Channel 詳解 ....... 52
3.2 ChannelHandler 接口 .... 59
3.3 ChannelInboundHandler 接口 ..... 61
3.4 ChannelOutboundHandler 接口...... 63
3.5 ChannelHandlerAdapter 抽象類..... 64
3.6 適配器的作用....... 68
3.7 ChannelPipeline 接口 .... 69
3.8 ChannelPipeline 中的 ChannelHandler .... 78
3.9 ChannelHandlerContext 接口...... 79
3.10 Channel 異常處理 .... 82
3.11 NIO 傳輸..... 87
3.12 OIO 傳輸 ...... 93
3.13 epoll 傳輸 .... 98
3.14 本地傳輸 ....... 103
3.15 內嵌傳輸 ..... 106
第4章 位元組緩衝區 ....107
4.1 ByteBuf 類 ..... 108
4.2 ByteBufAllocator 接口 .... 123
4.3 ByteBufUtil 類...... 125
4.4 ByteBufHolder 接口...... 130
4.5 CompositeByteBuf 類 .... 134
4.6 ReferenceCounted 接口 ...... 137
4.7 Unpooled 類 ...... 139
4.8 零拷貝 .... 151
4.9 動態擴容....... 159
第5章 引導程式 ....161
5.1 引導程式類...... 162
5.2 實戰:引導伺服器 ..... 173
5.3 實戰:引導客戶端 ..... 176
5.4 實戰:引導無連線協定...... 178
第6章 執行緒模型........ 195
6.1 Java 執行緒模型的不足 ...... 196
6.2 執行緒模型的類型 ..... 201
6.3 EventLoop 接口...... 219
6.4 EventLoopGroup 接口 .... 221
6.5 任務調度..... 224
6.6 Future ...... 227
6.7 Promise ....... 232
第7章 編解碼 ........248
7.1 編解碼概述....... 249
7.2 解碼器 .... 250
7.3 實戰:自定義基於換行的解碼器 ...... 258
7.4 編碼器 ....... 267
7.5 實戰:自定義編碼器..... 273
7.6 編解碼器..... 283
7.7 實戰:自定義編解碼器...... 291
7.8 序列化數據..... 295
7.9 實戰:基於 Netty 的對象序列化...... 298
7.10 實戰:基於 Jackson 的 JSON 序列化 ..... 304
第8章 ChannelHandler ........314
8.1 ChannelHandler 概述 ..... 315
8.2 訊息流程控制...... 317
8.3 flush 行為控制..... 325
8.4 I/O 事件記錄....... 332
8.5 IP 地址過濾.... 337
8.6 逾時處理..... 340
8.7 大數據流處理.... 351
8.8 數據加密..... 359
8.9 流量整形..... 375
第9章 常用網路協定 ........389
9.1 了解 HTTP........ 390
9.2 Netty 對於 HTTP 的支持 ..... 396
9.3 實戰:基於 HTTP 的 Web 伺服器 .... 404
9.4 了解 HTTP/2..... 408
9.5 Netty 對於 HTTP/2 的支持...... 415
9.6 實戰:基於 HTTP/2 的 Web 伺服器和客戶端.... 428
9.7 了解 WebSocket .... 448
9.8 Netty 對於 WebSocket 的支持..... 457
9.9 實戰:基於 WebSocket 的聊天室...... 461
第10章 測試 ........472
10.1 EmbeddedChannel 類..... 473
10.2 實戰:EmbeddedChannel 測試入站信息 .... 474
10.3 實戰:EmbeddedChannel 測試出站信息 ...... 477
10.4 使用 Apache JMeter 進行性能測試 ........ 479
10.4.5 添加測試報告.... 482
10.4.6 執行測試.... 483
第 11 章 案例分析 ........484
11.1 高性能訊息中間件——Apache RocketMQ..... 485
11.2 異步編程框架——Eclipse Vert.x ..... 499
11.3 高性能 PRC 框架——Apache Dubbo..... 510
11.3.1 入門示例 Provider ..... 511
第 12 章 實戰:實現監控系統整體設計 ........523
12.1 監控系統概述...... 524
12.2 架構設計 ...... 524
12.3 通信協定設計...... 531
12.4 資料庫設計..... 535
第 13 章 實戰:實現監控系統數據採集 ........539
13.1 基於 OSHI 數據採集功能實現 ....... 540
13.2 實現數據採集客戶端 ....... 543
13.3 實現數據採集伺服器 ....... 546
13.4 運行測試 ..... 549
13.5 程式改進:指定啟動參數.... 551
13.6 程式改進:使用 fat jar 啟動套用...... 554
第 14 章 實戰:實現監控系統數據存儲 ........557
14.1 基於 DBCP 的連線池實現.... 558
14.2 使用 DbUtils 簡化資料庫操作 ....... 564
14.3 實現數據存儲功能 .... 569
第 15 章 實戰:實現監控系統數據展示 ........571
15.1 基於 Lite 的 Web 伺服器..... 572
15.2 創建基於 Lite 的 Web 伺服器 ....... 574
15.3 提供採集數據 REST API .... 576
15.4 使用 Angular 創建客戶端.... 582
15.5 使用 HTTP 客戶端訪問 REST API ...... 596
第 16 章 實戰:實現監控系統高可用部署 ........605
16.1 NGINX 概述...... 606
16.2 部署 Angular 套用 .... 610
16.3 實現負載均衡及高可用..... 613
附錄 ......617
參考文獻 ........618

相關詞條

熱門詞條

聯絡我們