聊聊架构

Netty高性能架构之道

冷暖自知 提交于 2019-11-30 19:07:50
1. 引言 Netty是一个高性能、异步事件驱动的NIO框架,它提供了对 TCP、UDP和文件传输 的支持,作为一个异步NIO框架,Netty的所有IO操作都是异步非阻塞的,通过 Future-Listener机制 ,用户可以方便的主动获取或者通过通知机制获得IO操作结果。 作为当前最流行的NIO框架,Netty在互联网领域、大数据分布式计算领域、游戏行业、通信行业等获得了广泛的应用,一些业界著名的开源组件也基于Netty的NIO框架构建。 2. 为什么选择Netty Netty是业界最流行的NIO框架之一,它的健壮性、功能、性能、可定制性和可扩展性在同类框架中都是首屈一指的,它已经得到成百上千的商用项目验证,例如Hadoop的RPC框架avro使用Netty作为底层通信框架;很多其他业界主流的RPC框架,也使用Netty来构建高性能的异步通信能力。 通过对Netty的分析,我们将它的优点总结如下: API使用简单,开发门槛低; 功能强大,预置了多种编解码功能,支持多种主流协议; 定制能力强,可以通过ChannelHandler对通信框架进行灵活地扩展; 性能高,通过与其他业界主流的NIO框架对比,Netty的综合性能最优; 成熟、稳定,Netty修复了已经发现的所有JDK NIO BUG,业务开发人员不需要再为NIO的BUG而烦恼; 社区活跃,版本迭代周期短