Netty权威指南(pdf+txt+epub+azw3+mobi电子书在线阅读下载)

txtpdf查看全部>>

人气672
点击下载

Netty权威指南(pdf+txt+epub+azw3+mobi电子书在线阅读下载)

Netty权威指南(第2版)

作者:李林锋 著

格式: pdf、txt、epub、azw3、mobi、docx

编辑推荐

    1、Hadoop、Storm、Spark、Facebook、Twitter、Ali baba都在使用Java高性能NIO通信框架Netty,本书告诉你Why,通过本书你可以全面、系统地理解Netty 架构设计理念,以及异步NIO 编程。1、Hadoop、Storm、Spark、Facebook、Twitter、Ali baba都在使用Java高性能NIO通信框架Netty,本书告诉你Why,通过本书你可以全面、系统地理解Netty 架构设计理念,以及异步NIO 编程。

    2、本书作者为资深一线专家,在产品中广泛应用了Netty等NIO框架,具有丰富的多年实践经验,这就使得本书内容带有很强的实践性,让你更全面快速掌握Java高并发异步通信的优先选择 框架——Netty的用法。

    3、本书第1版出版后受到业界的一致好评,应读者的要求,第2版增加了MessagePack 编解码、服务端创建、客户端创建、高性能之道、可靠性、安全性等内容,内容更精彩。

    Netty是什么?使用Netty能够做什么?为什么要从传统的Socket开发切换到NIO进行编程?为什么不直接基于JDK的NIO类库编程而选择Netty?如何全面系统地掌握Netty进行NettyNIO开发、Netty编解码开发、Netty多协议开发?如何通过对Netty源码的学习获得更深入地知识?掌握了Netty后,如何将其应用到实际架构中?Netty工程师的就业前景和可涉足的行业是怎样的?本书都会一一解答。


推荐购买:

 

《云计算网络珠玑

实战Java虚拟机——JVM故障诊断与性能优化

《大型分布式网站架构设计与实践》

《老码说编程之玩转Swift江湖》

 

内容简介

《Netty 权威指南(第2 版)》是异步非阻塞通信领域的经典之作,基于*版本的Netty 5.0 编写,是国内很难得一见的深入介绍Netty 原理和架构的书籍,也是作者多年实战经验的总结和浓缩。内容不仅包含Java NIO入门知识、Netty 的基础功能开发指导、编解码框架定制等,还包括私有协议栈定制和开发、Netty 核心类库源码分析,以及Netty 的架构剖析。

作者简介

李林锋:Netty中国推广者,现华为技术有限公司平台中间件架构与设计部设计师,公司总裁技术创新奖获得者。长期从事高性能通信软件的架构设计和开发工作,有多年在NIO领域的设计、开发和运维经验,精通NIO编程和Netty、Mina等主流NIO框架。目前负责华为软件公司下一代SOA中间件和PaaS平台的架构设计工作。

目  录

基础篇走进

Java NIO

1

Java

I/O

演进之路

.2

1.1 I/O

基础入门

……………3

1.1.1 Linux

网络

I/O

模型简介

…….3

1.1.2 I/O

多路复用技术

……………..6

1.2 Java

I/O

演进

……….8

1.3

总结

……………………….
10

2

NIO

入门

……………….. 11

2.1

传统的

BIO

编程

……. 11

2.1.1 BIO

通信模型图

………………
12

2.1.2

同步阻塞式

I/O

创建的

TimeServer

源码分析

………….
13

2.1.3

同步阻塞式

I/O

创建的

TimeClient

源码分析

……….
16

2.2

伪异步

I/O

编程

…….. 18

2.2.1

伪异步

I/O

模型图

………….. 19

2.2.2

伪异步

I/O

创建的

TimeServer

源码分析

….. 19

2.2.3

伪异步

I/O

弊端分析

……….. 21

2.3 NIO

编程

………………..
24

2.3.1 NIO

类库简介

.. 24

2.3.2 NIO

服务端序列图

…………..
28

2.3.3 NIO

创建的

TimeServer

源码分析

……………. 30

2.3.4 NIO

客户端序列图

…………..
36

2.3.5 NIO

创建的

TimeClient

源码分析

……………. 39

2.4 AIO

编程

………………..
45

2.4.1 AIO

创建的

TimeServer

源码分析

……………. 46

2.4.2 AIO

创建的

TimeClient

源码分析

……………. 51

2.4.3 AIO

版本时间服务器运行结果

………………..
56

2.5 4

I/O

的对比

……… 58

2.5.1

概念澄清

………. 58

2.5.2

不同

I/O

模型对比

………….. 59

2.6

选择

Netty

的理由

….. 60

2.6.1

不选择

Java

原生

NIO

编程的原因

…………… 61

2.6.2

为什么选择

Netty
……………. 62

2.7

总结

……………………….
63

入门篇

Netty NIO

开发指南

3

Netty

入门应用

………. 66

3.1 Netty

开发环境的搭建

…………….
66

3.1.1

下载

Netty

的软件包

……….. 67

3.1.2

搭建

Netty

应用工程

……….. 67

3.2 Netty

服务端开发

…… 68

3.3 Netty

客户端开发

…… 73

3.4

运行和调试

……………. 76

3.4.1

服务端和客户端的运行

…… 76

3.4.2

打包和部署

…… 77

3.5

总结

……………………….
77

4

TCP

粘包

/

拆包问题的解决之道

…… 79

4.1 TCP

粘包

/

拆包

………. 79

4.1.1 TCP

粘包

/

拆包问题说明

….. 80

4.1.2 TCP

粘包

/

拆包发生的原因

……. 80

4.1.3

粘包问题的解决策略

………. 81

4.2

未考虑

TCP

粘包导致功能异常案例

…………….. 82

4.2.1 TimeServer

的改造

…………..
82

4.2.2 TimeClient

的改造

……………
83

4.2.3

运行结果

………. 84

4.3

利用

LineBasedFrameDecoder

解决

TCP

粘包问题

……………. 85

4.3.1

支持

TCP

粘包的

TimeServer ………………….. 86

4.3.2

支持

TCP

粘包的

TimeClient…………………… 88

4.3.3

运行支持

TCP

粘包的时间服务器程序

…….. 90

4.3.4 LineBasedFrameDecoder

StringDecoder

的原理分析

………..
91

4.4

总结

……………………….
92

5

章分隔符和定长解码器的应用

…… 93

5.1 DelimiterBasedFrameDecoder

应用开发

…………. 94

5.1.1 DelimiterBasedFrameDecoder

服务端开发

…. 94

5.1.2 DelimiterBasedFrameDecoder

客户端开发

…. 97

5.1.3

运行

DelimiterBasedFrameDecoder

服务端和客户端

…………… 99

5.2 FixedLengthFrameDecoder

应用开发

…………… 101

5.2.1 FixedLengthFrameDecoder

服务端开发

…… 101

5.2.2

利用

telnet

命令行测试

EchoServer

服务端

……103

5.3

总结

……………………..
104

中级篇

Netty

编解码开发指南

6

章编解码技术

………….. 106

6.1 Java

序列化的缺点

……
107

6.1.1

无法跨语言

…. 107

6.1.2

序列化后的码流太大

…….. 107

6.1.3

序列化性能太低

…………….
110

6.2

业界主流的编解码框架

…………
113

6.2.1 Google

Protobuf

介绍

…. 113

6.2.2 Facebook

Thrift

介绍

…. 115

6.2.3 JBoss Marshalling

介绍

….. 116

6.3

总结

……………………..
117

7

MessagePack

编解码

…………… 118

7.1 MessagePack

介绍

… 118

7.1.1 MessagePack

多语言支持

.. 119

7.1.2 MessagePack Java API

介绍

…………………… 119

7.1.3 MessagePack

开发包下载

. 120

7.2 MessagePack

编码器和解码器开发

……………..
120

7.2.1 MessagePack

编码器开发

……. 120

7.2.2 MessagePack

解码器开发

…… 121

7.2.3

功能测试

…….. 121

7.3

粘包

/

半包支持

……… 124

7.4

总结

……………………..
127

8

Google Protobuf

编解码

………. 128

8.1 Protobuf

的入门

……. 129

8.1.1 Protobuf

开发环境搭建

….. 129

8.1.2 Protobuf

编解码开发

………
131

8.1.3

运行

Protobuf

例程

………… 133

8.2 Netty

Protobuf

服务端开发

.. 133

8.2.1 Protobuf

版本的图书订购服务端开发

……..
134

8.2.2 Protobuf

版本的图书订购客户端开发

……..
136

8.2.3 Protobuf

版本的图书订购程序功能测试

….
139

8.3 Protobuf

的使用注意事项

………
140

8.4

总结

……………………..
142

9

JBoss Marshalling

编解码

……. 143

9.1 Marshalling

开发环境准备

……..
143

9.2 Netty

Marshalling

服务端开发

………………… 144

9.3 Netty

Marshalling

客户端开发

………………… 147

9.4

运行

Marshalling

客户端和服务端例程

……….. 149

9.5

总结

……………………..
150

高级篇

Netty

多协议开发和应用

10

HTTP

协议开发应用

…………… 154

10.1 HTTP

协议介绍

….. 155

10.1.1 HTTP

协议的

URL
………. 155

10.1.2 HTTP

请求消息(

HttpRequest

………….. 155

10.1.3 HTTP

响应消息(

HttpResponse

……….. 158

10.2 Netty HTTP

服务端入门开发

…….
159

10.2.1 HTTP

服务端例程场景描述

…………………
160

10.2.2 HTTP

服务端开发

………..
160

10.2.3 Netty HTTP

文件服务器例程运行结果

….
166

10.3 Netty HTTP XML

协议栈开发

…………………..
170

10.3.1

开发场景介绍

……………..
171

10.3.2 HTTP XML

协议栈设计

…….174

10.3.3

高效的

XML

绑定框架

JiBx ………………… 175

10.3.4 HTTP XML

编解码框架开发

………………
183

10.3.5 HTTP XML

协议栈测试

……. 199

10.3.6

小结

………….
201

10.4

总结

……………………
202

11

WebSocket

协议开发

…………. 203

11.1 HTTP

协议的弊端

……. 204

11.2 WebSocket

入门

….. 204

11.2.1 WebSocket

背景

……………
205

11.2.2 WebSocket

连接建立

……. 206

11.2.3 WebSocket

生命周期

……. 207

11.2.4 WebSocket

连接关闭

……. 208

11.3 Netty WebSocket

协议开发

….. 209

11.3.1 WebSocket

服务端功能介绍

…………………
209

11.3.2 WebSocket

服务端开发

…. 210

11.3.3

运行

WebSocket

服务端

… 218

11.4

总结

……………………
219

12

章私有协议栈开发

…. 221

12.1

私有协议介绍

…….. 221

12.2 Netty

协议栈功能设计

…………
223

12.2.1

网络拓扑图

.. 223

12.2.2

协议栈功能描述

…………..
224

12.2.3

通信模型

…… 224

12.2.4

消息定义

…… 225

12.2.5 Netty

协议支持的字段类型

………………….
226

12.2.6 Netty

协议的编解码规范

. 227

12.2.7

链路的建立

.. 229

12.2.8

链路的关闭

.. 230

12.2.9

可靠性设计

.. 230

12.2.10

安全性设计

232

12.2.11

可扩展性设计

…………….
232

12.3 Netty

协议栈开发

.. 233

12.3.1

数据结构定义

……………..
233

12.3.2

消息编解码

.. 237

12.3.3

握手和安全认证

…………..
241

12.3.4

心跳检测机制

……………..
245

12.3.5

断连重连

…… 248

12.3.6

客户端代码

.. 249

12.3.7

服务端代码

.. 251

12.4

运行协议栈

………… 252

12.4.1

正常场景

…… 252

12.4.2

异常场景:服务端宕机重启

………………..
253

12.4.3

异常场景:客户端宕机重启

………………..
256

12.5

总结

……………………
256

13

章服务端创建

………… 258

13.1

原生

NIO

类库的复杂性

……… 259

13.2 Netty

服务端创建源码分析

….
259

13.2.1 Netty

服务端创建时序图

. 260

13.2.2 Netty

服务端创建源码分析

………………….
263

13.3

客户端接入源码分析

…………..
272

13.4

总结

……………………
275

14

章客户端创建

………… 276

14.1 Netty

客户端创建流程分析

….
276

14.2.1 Netty

客户端创建时序图

. 276

14.2.2 Netty

客户端创建流程分析

………………….
277

14.2 Netty

客户端创建源码分析

….
278

14.2.1

客户端连接辅助类

Bootstrap………………..
278

14.2.2

客户端连接操作

…………..
281

14.2.3

异步连接结果通知

……….
283

14.2.4

客户端连接超时机制

……
284

14.3

总结

……………………
286

源码分析篇

Netty

功能介绍和源码分析

15

ByteBuf

和相关辅助类

……….. 288

15.1 ByteBuf

功能说明

. 288

15.1.1 ByteBuf

的工作原理

……..
289

15.1.2 ByteBuf

的功能介绍

……..
294

15.2 ByteBuf

源码分析

. 308

15.2.1 ByteBuf

的主要类继承关系

…………………
309

15.2.2 AbstractByteBuf

源码分析

…………………… 310

15.2.3 AbstractReferenceCountedByteBuf

源码分析

……………… 319

15.2.4 UnpooledHeapByteBuf

源码分析

………….. 321

15.2.5 PooledByteBuf

内存池原理分析

……………
326

15.2.6 PooledDirectByteBuf

源码分析

…………….. 329

15.3 ByteBuf

相关的辅助类功能介绍

………………..
332

15.3.1 ByteBufHolder…………….. 332

15.3.2 ByteBufAllocator …………. 333

15.3.3 CompositeByteBuf ……….. 334

15.3.4 ByteBufUtil .. 336

15.4

总结

……………………
337

16

Channel

Unsafe …………….. 338

16.1 Channel

功能说明

. 338

16.1.1 Channel

的工作原理

……..
339

16.1.2 Channel

的功能介绍

……..
340

16.2 Channel

源码分析

. 343

16.2.1 Channel

的主要继承关系类图

………………
343

16.2.2 AbstractChannel

源码分析

…………………… 344

16.2.3 AbstractNioChannel

源码分析

……………… 347

16.2.4 AbstractNioByteChannel

源码分析

……….. 350

16.2.5 AbstractNioMessageChannel

源码分析

….. 353

16.2.6 AbstractNioMessageServerChannel

源码分析

………….. 354

16.2.7 NioServerSocketChannel

源码分析

……….. 355

16.2.8 NioSocketChannel

源码分析

………………… 358

16.3 Unsafe

功能说明

… 364

16.4 Unsafe

源码分析

… 365

16.4.1 Unsafe

继承关系类图

…… 365

16.4.2 AbstractUnsafe

源码分析

. 366

16.4.3 AbstractNioUnsafe

源码分析

……………….. 375

16.4.4 NioByteUnsafe

源码分析

. 379

16.5

总结

……………………
387

17

ChannelPipeline

ChannelHandler……….. 388

17.1 ChannelPipeline

功能说明

……. 389

17.1.1 ChannelPipeline

的事件处理

……………….. 389

17.1.2

自定义拦截器

……………..
391

17.1.3

构建

pipeline 392

17.1.4 ChannelPipeline

的主要特性

……………….. 393

17.2 ChannelPipeline

源码分析

……. 393

17.2.1 ChannelPipeline

的类继承关系图

…………. 393

17.2.2 ChannelPipeline

ChannelHandler

的管理

………..
393

17.2.3 ChannelPipeline

inbound

事件

…………..
396

17.2.4 ChannelPipeline

outbound

事件

…………
397

17.3 ChannelHandler

功能说明

……. 398

17.3.1 ChannelHandlerAdapter

功能说明

………… 399

17.3.2 ByteToMessageDecoder

功能说明

………… 399

17.3.3 MessageToMessageDecoder

功能说明

…… 400

17.3.4 LengthFieldBasedFrameDecoder

功能说明

…………… 400

17.3.5 MessageToByteEncoder

功能说明

…………. 404

17.3.6 MessageToMess

商品评价

  • 周日看完全书。刚看到豆瓣评分和评论,认为7分上下算正常,现在这4.1的评分比较扯。日志输出占两页、有些地方的类图模糊、不如看netty in action,这些我都同意,但这样就否定全书值得商榷。既然有这么多骂的,那就不再重复,这里谈谈亮点,让看评论的人多点不同意见的参考:1.…
相关推荐
  • ANSYS电磁场分析(第2版)(pdf+txt+epub+azw3+mobi电子书在线阅读下载)
  • 物理学的未来(pdf+txt+epub+azw3+mobi电子书在线阅读下载)
  • 精装版(pdf+txt+epub+azw3+mobi电子书在线阅读下载)
  • 地球上最伟大的表演(pdf+txt+epub+azw3+mobi电子书在线阅读下载)
  • 恐龙探秘(pdf+txt+epub+azw3+mobi电子书在线阅读下载)
  • 物种起源(pdf+txt+epub+azw3+mobi电子书在线阅读下载)
  • 基因与细胞(pdf+txt+epub+azw3+mobi电子书在线阅读下载)
  • 相对论(pdf+txt+epub+azw3+mobi电子书在线阅读下载)
  • 陶哲轩实分析(pdf+txt+epub+azw3+mobi电子书在线阅读下载)
  • 通俗天文学(pdf+txt+epub+azw3+mobi电子书在线阅读下载)
  • 西方博物学文化(pdf+txt+epub+azw3+mobi电子书在线阅读下载)
  • 自然史(pdf+txt+epub+azw3+mobi电子书在线阅读下载)
  • 缤纷生物(pdf+txt+epub+azw3+mobi电子书在线阅读下载)
  • 狭义与广义相对论浅说(pdf+txt+epub+azw3+mobi电子书在线阅读下载)
  • 自然史(pdf+txt+epub+azw3+mobi电子书在线阅读下载)
  • 化学哲学新体系(pdf+txt+epub+azw3+mobi电子书在线阅读下载)
  • 能量守恒原理的历史和根源(pdf+txt+epub+azw3+mobi电子书在线阅读下载)
  • 深度学习的数学(pdf+txt+epub+azw3+mobi电子书在线阅读下载)
  • 从量子到宇宙-颠覆人类认知的科学之旅(pdf+txt+epub+azw3+mobi电子书在线阅读下载)
  • 汪老师的植物笔记(pdf+txt+epub+azw3+mobi电子书在线阅读下载)

全部评论: 0

微信公众号

还没账号?马上注册>>

登录

忘记密码

如果您尚未注册,请选择以下方式登录

Q Q 登 录 微 博 登 录
已有账号?快去登录>>

注册

发送验证码