阿里架构师着重推荐:Netty权威指南,异步非阻塞领域的经典之作

304 阅读3分钟

前言

JSR 51 的设计初衷就是让Java能够提供非阻塞。具有弹性件縮能力的异步10类库。从而结束Java在商性能服务器领域的不利地位。然面。在相当长的一段时间里。Java 的NIO编程并没有流行起来,究其原因如下:

  1. 大多数高性能服务器。被C和C++语言盘踞,由于它们可以直援使用操作系统的异步10能力,所以对JDK的NIO并不关心;
  2. 移动互联网尚未兴起。基于Java的大规模分布式系统极少。很多中小型应用服务对于异步10的诉求不是很强烈;
  3. 高性能,高可靠性领域,例如银行。证券。电信等依然以C++为主导。Java充当打杂的角色,NIO 暂时没有用武之地;
  4. 当时主流的J2EE服务器,几乎全部基于同步阻寡10构建。例如Servlet. Tomeat等。由于它们应用广泛,如果这些容器不支持NIO.用户限难n备独立构建异步协议栈的能力;
  5. 异步NIO编程门楼比较高。开发和维护一款 基于NIO的协议栈对很多中小型公司来说像是一一场翻梦;
  6. 业界NIO模架不成熟。很难商用;
  7. 国内研发界对NIO的陌生和认识不足。没有充分重视;

基于上述几种原因:随者大规模分布式系统。大数据和流式计算征架的兴起,基于Java来构建这些系统已经成为主流,NIO编程和NIO框架在此期间得到了大规模的商用。在互联网领域,网里的分布式服务框架Dubbo. RocketMQ. 大数据的基础序列化和通信框架Avro, 以及很多开源的软件都已经开始使用Netty来构建高性能。

根据目前的信息,Netty 已经在如下几个领城得到了大规模的商业应用:

  1. 互联网领城;
  2. 电信领城;
  3. 大数据领域;
  4. 银行,证券等合融领域;
  5. 游戏行业;
  6. 电力等企业市场

该文档适合架构师、设计师、软件开发工程师、测试人员和其他对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未来展望


目录