让阿里大佬带你走进中间件产品:RocketMQ实战与原理解析世界中( 五 )

Netty 介绍

Netty是一个网络应用框架 , 或者说是一一个 Java网络开发库 。 Netty 提供异步事件驱动的方式 , 使用它可以快速地开发出高性能的网络应用程序 , 比如客户端/服务器自定义协议程序 , 大大简化了网络程序的开发过程 。

Netty是-一个精心设计的框架 , 它从许多协议实现中吸收了丰富的经验 , 比如FTP、SMTP、HTTP等许多基于二进制和文本的传统协议 。 借助Netty可以比较容易地开发出达到Java网络专家+并发编程专家水平的通信程序 。 了解Netty前需要对Java NIO有个基本的了解 , 熟悉Channel、ByteBuffer、Selector等基本概念 。 对于Java网络编程经验不多的读者 , 可以试着先用Java NIO的基本类写一个简单的Client/Server程序 , 然后再用Netty对比着实现一遍 , 这样比较容易理解Netty里各种组件存在的原因 。

Netty 架构总览

如图所示 , Netty 主要分为三部分:一是底层的零拷贝技术和统一通信模型;二是基于JVM实现的传输层;三是常用协议支持 。 读者可以参考架构图做一个基本的了解 , 如果读者想深人了解的话可以阅读一些专门介绍Netty的书籍 。

推荐阅读