本文详细简述Netty框架的底层原理和IO的模型,以及他们之间的关联
目录
本文详细简述Netty框架的底层原理和IO的模型,以及他们之间的关联
IO类别 1.BIO模型概述 2. NIO模型概述 3.线程池 4. AIO模型概述 5. Netty 6.同步、异步、阻塞、非阻塞
Netty 是一个非常受开发者欢迎的异步事件驱动的Java开源网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端。应用于开发客户端和服务器之间的交互和灵活协议
Netty 对 JDK 自带的 NIO 的 API 进行了封装,解决了上述问题。
Netty的主要特点有:
1)设计优雅:适用于各种传输类型的统一 API 阻塞和非阻塞 Socket;基于灵活且可扩展的事件模型,可以清晰地分离关注点;高度可定制的线程模型 - 单线程,一个或多个线程池;真正的无连接数据报套接字支持(自 3.1 起)。
2)使用方便:详细记录的 Javadoc,用户指南和示例;没有其他依赖项,JDK 5(Netty 3.x)或 6(Netty 4.x)就足够了。
3)高性能、吞吐量更高:延迟更低;减少资源消耗;最小化不必要的内存复制。
4)安全:完整的 SSL/TLS 和 StartTLS 支持。
Netty 常见的使用场景如下:
- 1)互联网行业:在分布式系统中,各个节点之间需要远程服务调用,高性能的 RPC 框架必不可少,Netty 作为异步高性能的通信框架,