Netty原理解析与开发实战pdf下载pdf下载

Netty原理解析与开发实战百度网盘pdf下载

作者:
简介:本篇主要提供Netty原理解析与开发实战pdf下载
出版社:北京大学出版社
出版时间:2021-01
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

产品特色

编辑推荐

1.技术新颖,层次清晰:本书以Netty 4.x技术展开,从基础原理到高阶应用一应俱全,由浅入深,易学易懂;

2.知识面广,实战性强:囊括了 Netty 所涉及的NIO、Selector模型、线程模型、编解码、网络协议等众多核心技术点,用案例训练实战,用代码落实理论;

3.案例典型,商业性强:大量案例源于真实的商业项目,部分代码可直接参考移植,从“学”到“用”更轻松;

4.附赠资源,在线答疑:不仅附赠案例源代码,而且读者可进入作者个人开源社区,随时与作者交流,学习前沿编程技术。

内容简介

本书介绍新Netty框架核心概念、设计原理,并通过详细示例对知识点进行讲解。该书分为以下几部分:
入门(第1-2章):介绍Netty基本概念、架构。使读者对Netty有初步的认识;
进阶(第3-6章):介绍Netty核心组件及线程模型,包括Channel、缓冲、引导等。使读者可以上手开发Netty应用;
高阶(第7-12章):介绍Netty高级用法及综合案例分析。使读者能够理解网络编码中的高级用法;
实战(第13章):演示基于Netty构建真实应用的过程。使读者能够掌握设计和开发Netty应用的能力。
本书主要面向的是对Java高并发、高性能网络编程感兴趣的学生、开发人员和架构师。

作者简介

柳伟卫,网名老卫、waylau,在 IT 公司担任项目经理、架构师、高级技术顾问等职位,是 CSDN、 开源中国、云栖社区等技术社区专家,慕课网特邀讲师。具有多年软件开发管理及系统架构经验。负责过多个省、国家大型分布式系统的设计与研发,参与了多个大型项目的微服务架构的技术改造,在实际工作中,积累了大量的微服务架构以及性能调优经验。业余时间创建了 waylau.com 网站,用于分享个人技术心得。喜欢开源,长期跃于各大开源社区,编著了《Netty 4.x 用户指南》《Netty 实战(精髓)》等近30余本技术教程,广受网友好评。已出版《分布式系统常用技术及案例分析》《Spring Boot 企业级应用开发实战》《Spring Cloud 微服务架构开发实战》等专著。

目录

第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