《Netty进阶之路:跟着案例学Netty李林锋》[69M]百度网盘|pdf下载|亲测有效
《Netty进阶之路:跟着案例学Netty李林锋》[69M]百度网盘|pdf下载|亲测有效

Netty进阶之路:跟着案例学Netty李林锋 pdf下载

出版社 辽版图书卖场店
出版年 2018-11
页数 390页
装帧 精装
评分 9.4(豆瓣)
8.99¥ 10.99¥

内容简介

本篇主要提供Netty进阶之路:跟着案例学Netty李林锋电子书的pdf版本下载,本电子书下载方式为百度网盘方式,点击以上按钮下单完成后即会通过邮件和网页的方式发货,有问题请联系邮箱ebook666@outlook.com

   图书基本信息
图书名称   Netty进阶之路:跟着案例学Netty 作者   李林锋
定价   79.00元 出版社   电子工业出版社
ISBN   9787121352621 出版日期   2018-11-01
字数   425000 页码   322
版次    装帧   平装
开本   16开 商品重量   

   内容提要
Netty将Java NIO接口封装,提供了全异步编程方式,是各大Java项目的网络应用开发神器。本书作者是Netty技术的先行者和布道者,本书是他继《Netty指南》之后的又一力作。在本书中,作者将在过去几年实践中遇到的问题,以及Netty学习者咨询的相关问题,进行了归纳和总结,以问题案例做牵引,通过对案例进行剖析,讲解问题背后的原理,并结合Netty源码分析,让读者能够真正掌握Netty,在实际工作中少犯错。本书中的案例涵盖了Netty的启动和停止、内存、并发多线程、性能、可靠性、安全等方面,囊括了Netty绝大多数常用的功能及容易让人犯错的地方。在案例的分析过程中,还穿插讲解了Netty的问题定位思路、方法、技巧,以及解决问题使用的相关工具,对读者在实际工作中用好Netty具有很大的帮助和启发作用。本书适合架构师、设计师、开发工程师、测试工程师,以及对Java NIO框架、Netty感兴趣的其他相关人士阅读。

   目录
   章Netty服务端意外退出案例1

1.1Netty服务端意外退出问题1

1.1.1JavaDaemon线程简介2

1.1.2Netty服务端启动原理4

1.1.3如何防止Netty服务端意外退出6

1.1.4实际项目中的优化策略8

1.2Netty优雅退出机制9

1.2.1Java优雅退出机制10

1.2.2Java优雅退出的注意点12

1.2.3Netty优雅退出机制14

1.2.4Netty优雅退出原理和源码分析15

1.2.5Netty优雅退出的一些误区20

1.3总结21

第2章Netty客户端连接池资源泄漏案例22

2.1Netty连接池资源泄漏问题22

2.1.1连接池创建代码23

2.1.2内存溢出和线程膨胀23

2.1.3错用NIO编程模式25

2.1.4正确的连接池创建方式26

2.1.5并发安全和资源释放28

2.2Netty客户端创建机制29

2.2.1JavaNIO客户端创建原理分析29

2.2.2Netty客户端创建原理分析32

2.2.3Bootstrap工具类源码分析34

2.3总结36

第3章Netty内存池泄漏疑云案例37

3.1Netty内存池泄漏问题37

3.1.1路由转发服务代码38

3.1.2响应消息内存释放玄机39

3.1.3采集堆内存快照分析42

3.1.4ByteBuf申请和释放的理解误区45

3.2Netty内存池工作机制48

3.2.1内存池的性能优势48

3.2.2内存池工作原理分析51

3.2.3内存池核心代码分析54

3.3总结58

第4章ByteBuf故障排查案例59

4.1协议栈ByteBuf使用问题59

4.1.1响应Body获取异常59

4.1.2ByteBuf非法引用问题63

4.1.3ByteBuf使用注意事项66

4.2NettyByteBuf实现机制67

4.2.1Java原生ByteBuffer的局限性67

4.2.2NettyByteBuf工作原理分析67

4.2.3ByteBuf引用计数器工作原理和源码分析70

4.3总结73

第5章Netty发送队列积压导致内存泄漏案例74

5.1Netty发送队列积压案例74

5.1.1高并发故障场景74

5.1.2内存泄漏原因分析76

5.1.3如何防止发送队列积压78

5.1.4其他可能导致发送队列积压的因素80

5.2Netty消息发送工作机制82

5.2.1WriteAndFlushTask原理和源码分析83

5.2.2ChannelOutboundBuffer原理和源码分析86

5.2.3消息发送源码分析88

5.2.4消息发送高低水位控制94

5.3总结95

第6章API网关高并发压测性能波动案例96

6.1高并发压测性能波动问题96

6.1.1故障场景模拟96

6.1.2性能波动原因定位98

6.1.3主动内存泄漏定位法101

6.1.4网关类产品的优化建议102

6.2Netty消息接入内存申请机制102

6.2.1消息接入的内存分配原理和源码分析102

6.2.2NettyByteBuf的动态扩容原理和源码分析107

6.3总结108

第7章NettyChannelHandler并发安全案例109

7.1NettyChannelHandler并发安全问题109

7.1.1串行执行的ChannelHandler110

7.1.2跨链路共享的ChannelHandler114

7.1.3ChannelHandler的并发陷阱116

7.2NettyChannelHandler工作机制118

7.2.1职责链ChannelPipeline原理和源码分析118

7.2.2用户自定义Event原理和源码分析122

7.3总结123

第8章车联网服务端接收不到车载终端消息案例124

8.1车联网服务端接收不到车载终端消息问题124

8.1.1故障现象125

8.1.2故障期线程堆栈快照分析126

8.1.3NioEventLoop线程防挂死策略128

8.2NioEventLoop线程工作机制129

8.2.1I/O读写操作原理和源码分析130

8.2.2异步任务执行原理和源码分析133

8.2.3定时任务执行原理和源码分析135

8.2.4Netty多线程实践137

8.3总结137

第9章Netty3.X版本升级案例139

9.1Netty3.X的版本升级背景139

9.1.1被迫升级场景140

9.1.2升级不当遭遇各种问题140

9.2版本升级后数据被篡改问题141

9.2.1数据篡改原因分析142

9.2.2问题总结143

9.3升级后上下文丢失问题143

9.3.1上下文丢失原因分析144

9.3.2依赖第三方线程模型的思考144

9.4升级后应用遭遇性能下降问题145

9.4.1性能下降原因分析145

9.4.2性能优化建议146

9.5Netty线程模型变更分析147

9.5.1Netty3.X版本线程模型147

9.5.2Netty4.X版本线程模型149

9.5.3线程模型变化点源码分析150

9.5.4线程模型变化总结152

9.6总结154

0章Netty并发失效导致性能下降案例155

10.1业务ChannelHandler无法并发执行问题155

10.1.1服务端并发设计相关代码分析155

10.1.2无法并行执行的EventExecutorGroup159

10.1.3并行执行优化策略和结果161

10.2NettyDefaultEventExecutor工作机制163

10.2.1DefaultEventExecutor原理和源码分析164

10.2.2业务线程池优化策略165

10.2.3Netty线程绑定机制原理和源码分析168

10.3总结170

1章IoT百万长连接性能调优案例171

11.1海量长连接接入面临的挑战171

11.1.1IoT设备接入特点172

11.1.2IoT服务端性能优化场景172

11.1.3服务端面临的性能挑战172

11.2智能家居内存泄漏问题173

11.2.1服务端内存泄漏原因定位173

11.2.2问题背后的一些思考174

11.3操作系统参数调优174

11.3.1文件描述符175

11.3.2TCP/IP相关参数175

11.3.3多网卡队列和软中断177

11.4Netty性能调优177

11.4.1设置合理的线程数177

11.4.2心跳优化180

11.4.3接收和发送缓冲区调优183

11.4.4合理使用内存池184

11.4.5防止I/O线程被意外阻塞185

11.4.6I/O线程和业务线程分离187

11.4.7针对端侧并发连接数的流控187

11.5JVM相关性能优化189

11.5.1GC调优189

11.5.2其他优化手段193

11.6总结193

2章静态检查修改不当引起性能下降案例195

12.1EdgeService性能严重下降问题195

12.1.1EdgeService热点代码分析195

12.1.2静态检查问题不是简单的一改了之197

12.1.3问题反思和改进200

12.2克隆和浅拷贝201

12.2.1浅拷贝存在的问题201

12.2.2Netty的对象拷贝实现策略203

12.3总结204

3章Netty性能统计误区案例205

13.1时延毛刺排查相关问题205

13.1.1时延毛刺问题初步分析205

13.1.2服务调用链改进207

13.1.3都是同步思维惹的祸208

13.1.4正确的消息发送速度性能统计策略209

13.1.5常见的消息发送性能统计误区212

13.2Netty关键性能指标采集策略212

13.2.1NettyI/O线程池性能指标213

13.2.2Netty发送队列积压消息数214

13.2.3Netty消息读取速度性能统计215

13.3总结215

4章gRPC的Netty/2实践案例216

14.1gRPC基础入门216

14.1.1RPC框架简介216

14.1.2当前主流的RPC框架218

14.1.3gRPC框架特点218

14.1.4为什么选择/2219

14.2gRPetty/2服务端工作机制220

14.2.1Netty/2服务端创建原理和源码分析220

14.2.2服务端接收/2请求消息原理和源码分析224

14.2.3服务端发送/2响应消息原理和源码分析231

14.3gRPetty/2客户端工作机制234

14.3.1Netty/2客户端创建原理和源码分析235

14.3.2客户端发送/2请求消息原理和源码分析238

14.3.3客户端接收/2响应消息原理和源码分析242

14.4gRPC消息序列化机制243

14.4.1GoogleProtobuf简介243

14.4.2消息的序列化原理和源码分析244

14.4.3消息的反序列化原理和源码分析245

14.5gRPC线程模型246

14.5.1服务端线程模型246

14.5.2客户端线程模型247

14.5.3线程模型总结248

14.6总结249

5章Netty事件触发策略使用不当案例250

15.1channelReadComplete方法被调用多次问题250

15.1.1ChannelHandler调用问题250

15.1.2生产环境问题模拟重现252

15.2ChannelHandler使用的一些误区总结255

15.2.1channelReadComplete方法调用255

15.2.2ChannelHandler职责链调用257

15.3总结258

6章Netty流量整形应用案例259

16.1Netty流量整形功能259

16.1.1通用的流量整形功能简介260

16.1.2Netty流量整形功能简介260

16.2Netty流量整形应用261

16.2.1流量整形示例代码261

16.2.2流量整形功能测试263

16.3Netty流量整形工作机制264

16.3.1流量整形工作原理和源码分析264

16.3.2并发编程在流量整形中的应用271

16.3.3使用流量整形的一些注意事项总结274

16.4总结278

7章NettySSL应用案例279

17.1NettySSL功能简介279

17.1.1SSL安全特性280

17.1.2NettySSL实现机制281

17.2Netty客户端SSL握手超时问题282

17.2.1握手超时原因定位282

17.2.2NettySSL握手问题定位技巧283

17.3SSL握手性能问题284

17.3.1SSL握手性能热点分析284

17.3.2缓存和对象池285

17.4SSL事件监听机制286

17.4.1握手成功事件286

17.4.2SSL连接关闭事件286

17.5总结287

8章NettyS服务端高并发宕机案例288

18.1NettyS服务端宕机问题288

18.1.1客户端大量超时288

18.1.2服务端内存泄漏原因分析289

18.1.3NioSocketChannel泄漏原因探究290

18.1.4高并发场景下缺失的可靠性保护292

18.2功能层面的可靠性优化294

18.2.1NettyS服务端可靠性优化295

18.2.2S客户端优化296

18.3架构层面的可靠性优化297

18.3.1端到端架构问题剖析297

18.3.2Client切换到NIO298

18.3.3同步RPC调用切换到异步调用299

18.3.4协议升级到/2303

18.4总结307

9章MQTT服务接入超时案例308

19.1MQTT服务接入超时问题308

19.1.1生产环境问题现象308

19.1.2连接数膨胀原因分析309

19.1.3无效连接的关闭策略309

19.1.4问题总结310

19.2基于Netty的可靠性设计311

19.2.1业务定制I/O异常311

19.2.2链路的有效性检测312

19.2.3内存保护313

19.3总结315

第20章Netty实践总结316

20.1Netty学习策略316

20.1.1入门知识准备316

20.1.2Netty入门学习319

20.1.3项目实践319

20.1.4Netty源码阅读策略319

20.2Netty故障定位技巧320

20.2.1接收不到消息320

20.2.2内存泄漏321

20.2.3性能问题322

20.3总结322

   编辑推荐

精选自1000多个一线业务实际案例,从原理到实践全景式讲解Netty项目实践,快速领悟Netty专家花大量时间积累的经验,提高编程水平及分析解决问题的能力,《Netty木又威指南》作者力作,众专家力荐。

Netty是Java高性能网络编程的明星框架

在阿里等互联网公司Netty是程序员必须掌握的基础组件

现有Netty图书多是讲解其实现及原理的,缺少对实际应用的指导

在实际使用中遇到Netty故障,需要花大量实践摸索、试验解决

本书作者经过多年的积累,将遇到的问题进行分门别类的讲解

连接池资源泄漏、服务端意外退出、高并发性能波动及IoT海量连接等

除了描述问题的前因后果,还讲解了问题定位的各种思路和方法

以及对于Netty关键技术的剖许,再加上作者酣畅淋漓的文风

可以让你快速领悟到Netty专家花大量时间积累的经验

对于提高编程水平及分析解决问题的能力大有帮助