Netty简介
1.Netty是什么
Netty 是一个基于NIO的客户、服务器端的编程框架,它提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序使用。Netty只是一个框架,不能开箱即用,你必须拿过来自己定制。利用它开发出自己的程序才能运行(例如Spring)。如果你的应用程序涉及到长连接、自定义协议、高并发,那么Netty是绝配。
2.主要特性
Netty有很多重要的特性,主要特性如下:
- 优雅的设计
- 统一的API接口,支持多种传输类型,例如OIO,NIO
- 简单而强大的线程模型
- 丰富的文档
- 卓越的性能
- 拥有比原生Java API 更高的性能与更低的延迟
- 基于池化和复用技术,使资源消耗更低
- 安全性
- 完整的SSL/TLS以及StartTLS支持
- 可用于受限环境,如Applet以及OSGI
Netty的以上特性,比较适合客户端数据较大的请求/处理场景,例如web服务器等,要想知道有哪些系统使用了Netty,可以参考:http://netty.io/wiki/adopters.html
3.主要术语
3.1 IO模型:BIO/NIO/Netty
3.1.1 BIO(Blocking IO) 阻塞IO
关于服务器端的socket编程,最早java是利用所谓的阻塞IO的