目录

Netty

目录

Netty 是一个异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端。

Netty是一个非阻塞I/O客户端-服务器框架,主要用于开发Java网络应用程序,如协议服务器和客户端。异步事件驱动的网络应用程序框架和工具用于简化网络编程,例如TCP和UDP套接字服务器。Netty包括了反应器编程模式的实现。Netty最初由JBoss开发,现在由Netty项目社区开发和维护。

除了作为异步网络应用程序框架,Netty还包括了对HTTP、HTTP2、DNS及其他协议的支持,涵盖了在Servlet容器内运行的能力、对WebSockets的支持、与Google Protocol Buffers的集成、对SSL/TLS的支持以及对用于SPDY协议和消息压缩的支持。

/images/network/netty/components.png

Netty是一个NIO客户端服务器框架,可以快速,轻松地开发网络应用程序,如协议服务器和客户端。 它大大简化和简化了网络编程,如TCP和UDP套接字服务器。 “快速和容易”并不意味着结果应用程序将遇到可维护性或性能问题。 Netty已经仔细设计了从许多协议,如FTP,SMTP,HTTP和各种二进制和基于文本的遗留协议的实现获得的经验。 因此,Netty成功地找到了一种方法来实现易于开发,性能,稳定性和灵活性的应用程序。

Features

设计

  • 各种传输类型的统一 API - 阻塞和非阻塞套接字
  • 基于灵活且可扩展的事件模型,允许明确分离关注点
  • 高度可定制的线程模型——单线程、一个或多个线程池,例如 SEDA
  • 真正的无连接数据报套接字支持

性能

更高的吞吐量,更低的延迟 更少的资源消耗 最小化不必要的内存拷贝

安全

Complete SSL/TLS and StartTLS support

附录