Netty是 一个异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能 协议服务器和客户端。Netty是基于nio的,它封装了jdk的nio,让我们使用起 来更加方法灵活。
Netty的特点:
高并发:
Netty
是一款基于
NIO
(
Nonblocking IO
,非阻塞
IO
)开发的网络通 信框架,对比于
BIO
(
Blocking I/O
,阻塞
IO
),他的并发性能得到了很大提高。
传输快:
Netty
的传输依赖于零拷贝特性,尽量减少不必要的内存拷贝,实现了 更高效率的传输。
封装好:
Netty
封装了
NIO
操作的很多细节,提供了易于使用调用接口。
Netty的优势:
使用简单:封装了
NIO
的很多细节,使用更简单。
功能强大:预置了多种编解码功能,支持多种主流协议。
定制能力强:可以通过
ChannelHandler
对通信框架进行灵活地扩展。
性能高:通过与其他业界主流的
NIO
框架对比,
Netty
的综合性能优。
稳定:
Netty
修复了已经发现的所有
NIO
的
bug
,让开发人员可以专注于业务 本身。
社区活跃:
Netty
是活跃的开源项目,版本迭代周期短,
bug
修复速度快。
Netty
的应用场景:
阿里分布式服务框架
Dubbo
,默认使用
Netty
作为基础通信组件,还有
RocketMQ
也是使用
Netty
作为通讯的基础。