Netty - java nio socket编程框架

Netty是由JBOSS提供的一个java开源框架。Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。

也就是说,Netty 是一个基于NIO的客户、服务器端编程框架,使用Netty 可以确保你快速和简单的开发出一个网络应用,例如实现了某种协议的客户、服务端应用。Netty相当于简化和流线化了网络应用的编程开发过程,例如:基于TCP和UDP的socket服务开发。

“快速”和“简单”并不用产生维护性或性能上的问题。Netty 是一个吸收了多种协议(包括FTP、SMTP、HTTP等各种二进制文本协议)的实现经验,并经过相当精心设计的项目。最终,Netty 成功的找到了一种方式,在保证易于开发的同时还保证了其应用的性能,稳定性和伸缩性。 [1] 

外文名

Netty

依赖平台

JBOSS

性    质

java开源框架

特    点

快速开发高性能、高可靠性

新的传输方式

处理大容量数据流更简单

目录

  1. 特点
  2. ▪ 设计
  3. ▪ 易用性
  4. ▪ 性能
  1. ▪ 健壮性
  2. ▪ 安全
  3. ▪ 社区
  4. 新特性
  1. 新的传输方式
  2. 新的编码器
  3. 其他技术整合

特点

编辑

设计

针对多种传输类型的统一接口 - 阻塞和非阻塞

简单但更强大的线程模型

真正的无连接的数据报套接字支持

链接逻辑支持复用

易用性

大量的 Javadoc 和 代码实例

除了在 JDK 1.6 + 额外的限制。(一些特征是只支持在Java 1.7 +。可选的功能可能有额外的限制。)

性能

比核心 Java API 更好的吞吐量,较低的延时

资源消耗更少,这个得益于共享池和重用

减少内存拷贝

健壮性

消除由于慢,快,或重载连接产生的 OutOfMemoryError

消除经常发现在 NIO 在高速网络中的应用中的不公平的读/写比

安全

完整的 SSL / TLS 和 StartTLS 的支持

行在受限的环境例如 Applet 或 OSGI

社区

发布的更早和更频繁

社区驱动 [2] 

新特性

编辑

处理大容量数据流更简单

处理协议编码和单元测试更简单

I/O超时和idle状态检测

应用程序的关闭更简单,更安全

更可靠的OutOfMemoryError预防

新的传输方式

编辑

1、基于BIO和NIO的UDP传输

2、本地传输(又名 in-VM传输)

3、HTTP通道,可绕过防火墙

新的编码器

编辑

1、HTTP客户端和服务器端

2、用于实现各种专有协议的工具

其他技术整合

编辑

1、Google Protocol Buffers

2、JBoss Microcontainer, OSGi, Guice以及Spring

猜你喜欢

转载自blog.csdn.net/hemeinvyiqiluoben/article/details/81784994