
前言
JSR 51 的设计初衷就是让Java能够提供非阻塞。具有弹性件縮能力的异步10类库。从而结束Java在商性能服务器领域的不利地位。然面。在相当长的一段时间里。Java 的NIO编程并没有流行起来,究其原因如下:
- 大多数高性能服务器。被C和C++语言盘踞,由于它们可以直援使用操作系统的异步10能力,所以对JDK的NIO并不关心;
- 移动互联网尚未兴起。基于Java的大规模分布式系统极少。很多中小型应用服务对于异步10的诉求不是很强烈;
- 高性能,高可靠性领域,例如银行。证券。电信等依然以C++为主导。Java充当打杂的角色,NIO 暂时没有用武之地;
- 当时主流的J2EE服务器,几乎全部基于同步阻寡10构建。例如Servlet. Tomeat等。由于它们应用广泛,如果这些容器不支持NIO.用户限难n备独立构建异步协议栈的能力;
- 异步NIO编程门楼比较高。开发和维护一款 基于NIO的协议栈对很多中小型公司来说像是一一场翻梦;
- 业界NIO模架不成熟。很难商用;
- 国内研发界对NIO的陌生和认识不足。没有充分重视;
基于上述几种原因:随者大规模分布式系统。大数据和流式计算征架的兴起,基于Java来构建这些系统已经成为主流,NIO编程和NIO框架在此期间得到了大规模的商用。在互联网领域,网里的分布式服务框架Dubbo. RocketMQ. 大数据的基础序列化和通信框架Avro, 以及很多开源的软件都已经开始使用Netty来构建高性能。
根据目前的信息,Netty 已经在如下几个领城得到了大规模的商业应用:
- 互联网领城;
- 电信领城;
- 大数据领域;
- 银行,证券等合融领域;
- 游戏行业;
- 电力等企业市场
该文档适合架构师、设计师、软件开发工程师、测试人员和其他对Java NIO框架、Java 通信感兴趣的相关人士学习,相信通过学习本书,能够熟悉和掌握Netty这一优秀的异步通信框架,实现高可用分布式系统的构建。
Netty权威指南
基础篇
- 了解Java I/O 演进之路
- NIO 入门

入门篇
- 熟悉Netty基础应用
- TCP 粘包/拆包问题的解决
- 熟悉分隔符和定长解码器的应用

中级篇
- 掌握编解码技术
- Java序列化
- Google Protobuf編解码
- JBoss Marsalling编解码

高级篇
- HTTP 协议开发应用
- WebSocket 协议开发
- UDP 协议开发
- 文件传输
- 私有协议栈开发


源码分析篇
- ByteBurf 和相关辅助类
- Channel 和Unsafe
- ChanelPipeline 和ChannelHandler
- EventLoop 和Event oopGroup
- Future 和Promise



架构和行业应用篇
- Java 多线程编程在Netty中的应用
- Netty 架构剖析
- Netty 行业应用
- Netty未来展望


目录
