Netty是一个异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端。
Netty是一个NIO客户端服务器框架,可以快速轻松地开发协议服务器和客户端等网络应用程序。 它极大地简化并简化了TCP和UDP套接字服务器等网络编程。
“快速简便”并不意味着最终的应用程序会受到可维护性或性能问题的影响。 Netty经过精心设计,具有丰富的协议,如FTP,SMTP,HTTP以及各种二进制和基于文本的传统协议。 因此,Netty成功地找到了一种在不妥协的情况下实现易于开发,性能,稳定性和灵活性的方法。
Netty架构图
三个组成部分:Core(核心)Transport Service(传输服务)Protocol support(协议支持)
特性
设计
•适用于各种传输类型的统一API – 阻塞和非阻塞套接字
•基于灵活且可扩展的事件模型,可以清晰地分离关注点
•高度可定制的线程模型 – 单线程,一个或多个线程池,如SEDA
•真正的无连接数据报套接字支持(自3.1起)
使用方便
•详细记录的Javadoc,用户指南和示例
•没有其他依赖项,JDK 5(Netty 3.x)或6(Netty 4.x)就足够了◦
•注意:某些组件(如HTTP / 2)可能有更多要求。 有关更多信息,请参阅“要求”页面。
性能
•更高的吞吐量,更低的延迟
•减少资源消耗
•尽量减少不必要的内存复制
安全
•完整的SSL / TLS和StartTLS支持
社区
•提前发布,经常发布
•作者自2003年以来一直在编写类似的框架,他仍然发现您的反馈非常珍贵!