内容简介 · · · · · ·
随着互联网应用的发展,企业对于高并发、高性能的网络服务诉求也越来越旺盛,Netty应运而生。Netty是基于JavaNIO构建的高性能网络编程框架,用于构建高并发、高性能、异步、非阻塞的网络应用。本书介绍最新Netty框架核心概念、设计原理,并通过详细示例对知识点进行讲解,内容涉及广泛、实战案例新颖,令读者学习不再枯燥。同时,案例的选型偏于解决实际问题,具有很强的应用性。本书的最后还演示了如何从零开始构建一个真实的监控系统,该系统基于Netty、Lite、MySQL、Angular等技术构建,是一款采用微服务架构的分布式应用。
本书分为以下几部分:
入门(第 1~2 章):介绍 Netty 基本概念、架构,使读者对 Netty 有初步的认识。
进阶(第 3~6 章):介绍 Netty 核心组件及线程模型,包括 Channel、字节缓冲区、引导...
随着互联网应用的发展,企业对于高并发、高性能的网络服务诉求也越来越旺盛,Netty应运而生。Netty是基于JavaNIO构建的高性能网络编程框架,用于构建高并发、高性能、异步、非阻塞的网络应用。本书介绍最新Netty框架核心概念、设计原理,并通过详细示例对知识点进行讲解,内容涉及广泛、实战案例新颖,令读者学习不再枯燥。同时,案例的选型偏于解决实际问题,具有很强的应用性。本书的最后还演示了如何从零开始构建一个真实的监控系统,该系统基于Netty、Lite、MySQL、Angular等技术构建,是一款采用微服务架构的分布式应用。
本书分为以下几部分:
入门(第 1~2 章):介绍 Netty 基本概念、架构,使读者对 Netty 有初步的认识。
进阶(第 3~6 章):介绍 Netty 核心组件及线程模型,包括 Channel、字节缓冲区、引导程序、线程模型等,使读者可以上手开发 Netty 应用。
高阶(第 7~12 章):介绍 Netty 高级用法及综合案例分析,使读者能够理解网络编码中的高级用法。
实战(第 13~16 章):演示基于 Netty 构建真实分布式应用的过程,使读者能够掌
握设计和开发 Netty 分布式应用的能力。
本书主要面向的是对Java高并发、高性能网络编程感兴趣的学生、开发人员、架构师。
作者简介 · · · · · ·
柳伟卫,网名老卫、waylau,在IT公司担任过项目经理、架构师、高级技术顾问等职位,拥有数十年开发经验,具有丰富的软件开发管理及系统架构经验。主导过多个省、国家级大型分布式系统的设计与研发,参与过面向全球的供应链系统服务化改造。在实际工作中,积累了大量的分布式系统、微 服务架构以及性能调优经验。业余时间创建了 waylau.com 网站,用于分享个人技术心得。喜欢开源,长期跃于各大开源社区,编著了《Netty 4.x 用户指南》《Netty 实战(精髓)》等近30余本开源技术教程(见 https://waylau.com/books/),广受网友好评,是 CSDN、 开源中国、阿里云开发者、华为开发者等技术社区专家。已出版包括《分布式系统常用技术及案例分析》《Spring Boot 企业级应用开发实战》《Spring Cloud 微服务架构开发实战...
柳伟卫,网名老卫、waylau,在IT公司担任过项目经理、架构师、高级技术顾问等职位,拥有数十年开发经验,具有丰富的软件开发管理及系统架构经验。主导过多个省、国家级大型分布式系统的设计与研发,参与过面向全球的供应链系统服务化改造。在实际工作中,积累了大量的分布式系统、微 服务架构以及性能调优经验。业余时间创建了 waylau.com 网站,用于分享个人技术心得。喜欢开源,长期跃于各大开源社区,编著了《Netty 4.x 用户指南》《Netty 实战(精髓)》等近30余本开源技术教程(见 https://waylau.com/books/),广受网友好评,是 CSDN、 开源中国、阿里云开发者、华为开发者等技术社区专家。已出版包括《分布式系统常用技术及案例分析》《Spring Boot 企业级应用开发实战》《Spring Cloud 微服务架构开发实战》《Spring 5 开发大全》等在内的数十本专著。
目录 · · · · · ·
1.1 Java 网络编程进化史 ...............2
1.2 Netty 的优势............ 18
1.3 Netty 核心概念.......... 22
1.4 Netty 开发环境的搭建................... 24
1.5 实战:快速开启第一个 Netty 应用...................... 30
· · · · · · (更多)
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
· · · · · · (收起)
喜欢读"Netty原理解析与开发实战"的人也喜欢的电子书 · · · · · ·
喜欢读"Netty原理解析与开发实战"的人也喜欢 · · · · · ·
Netty原理解析与开发实战的书评 · · · · · · ( 全部 9 条 )

如果你构建分布式系统,那么使用Netty
这篇书评可能有关键情节透露
谷歌这么定义分布式系统; A program is the code you write. A process is what you get when you run it. A message is used to communicate between processes. A packet is a fragment of a message that might travel on a wire. A protocol is a formal description of me... (展开)论坛 · · · · · ·
在这本书的论坛里发言以下书单推荐 · · · · · · ( 全部 )
- 书单|高性能高并发网络编程 (Gary改变世界)
- 网络 (力屎垃圾时间)
谁读这本书? · · · · · ·
二手市场
· · · · · ·
- 在豆瓣转让 有34人想读,手里有一本闲着?
订阅关于Netty原理解析与开发实战的评论:
feed: rss 2.0
7 有用 blackHole 2023-12-21 15:44:28 湖南
一本好的入门书籍
0 有用 Gary改变世界 2024-02-22 20:14:48 上海
看似写了本书,实际上是大量贴代码,阅读价值不大
0 有用 MEME 2025-04-02 16:03:43 广东
贴源代码也叫写书?????
0 有用 Xrtero 2024-06-04 22:10:28 湖南
贴太多没有实际意义的代码,要点不突出。
4 有用 全然大丈夫 2021-05-14 17:09:49
这本书600多页,初略翻了下,内容基本就是拼凑,没有实质性的有技术含量的东西,还有就是喜欢把大段日志占用篇幅;看了作者简历,无大厂经验,喜欢出书和去培训机构当老师