Netty学习(1)

注:本文翻译自Netty官方网站,地址:https://netty.io/

Netty介绍

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


Netty学习(1)

Netty是一个NIO的客户端服务器框架,可以快速和简单开发网络应用(比如开发协议的服务器和客户端),大大简化并提高了网络编程的效率(比如开发TCP和UDP socket 服务器)。“快和简单”并不意味着基于Netty所开发的应用会有性能和维护性的问题。Netty从实现很多的协议中获得很多的经验,比如FTP、SMTP、HTTP、许多二进制和text-based遗留(legacy)协议。因此,Netty已经成功的找到了一条道路,达到了开发的简单性、性能、稳定性和扩展性的平衡,不需要任何一方面的妥协。

特性

Netty为了提供最好的网络应用开发经验,从头开始进行了设计和编写:

设计

  • 对于多样的传输类型拥有统一的API - 阻塞的和非阻塞的socket。
  • 基于灵活和易于扩展的事件驱动模型
  • 高度自定义的线程模型-单线程,一个或者多个线程池,例如SEDA
  • 真正的无连接 datagram socket支持。(从3.1开始)

易用性

  • 完善的文档支持:Javadoc、用户指南和实例。
  • 除了依赖JDK1.5(或者以上)包之外,不依赖额外的包。

性能

  • 低延迟、更好的吞吐率
  • 更少的资源消耗
  • 最小化不必要的内存拷贝

健壮性

  • 不再有 由于快速、慢或者过载连接导致的OutOfMemoryError。
  • 不再有高速网络下的NIO应用存在的不公平读/写比问题。

安全

  • 完善的SSL/TLS和StartTLS支持。
  • 在限制的环境中比如Applet可以很好的运行。

 

 

 

你可能感兴趣的:(netty)