网络I/o编程模型10 netty介绍

Posted 健康平安的活着

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网络I/o编程模型10 netty介绍相关的知识,希望对你有一定的参考价值。

一 netty介绍

1.1 netty介绍

1.netty是由JBOSS提供的一个java开源框架。
2.netty是一个异步的、基于事件驱动的网络应用框架,用以快速开发高性能、高可靠性的网络IO程序。
3.netty主要针对在TCP协议下,面向clients端的高并发应用,或者Peer-to-peer场景下的大量数据持续传输的应用。
4.netty本质是一个NIO框架,适用于服务器通讯相关的多种应用场景。

简而言之:netty是一个异步高性能的网络通讯IO框架。

应用案例:
1.阿里的Dubbo集群框架中,节点之间通信使用netty作为基础通信组件。
2.大数据领域中 haddop高性能通信和序列化组件Avro的RPC框架,默认采用netty进行跨界点通信

1.2 为何使用netty

原因描述:jdk的nio存在bug,就是臭名昭著的Epoll bug,它会导致selector空轮询,最终导致cpu飙升到100%,jdk1.7都没有解决掉。
netty对jdk自带的NIO的API进行了封装,解决了上述问题
1.设计优雅:适用于各种传输类型的统一API阻塞和非阻塞socket;基于灵活且可扩展的事件模型,可以清晰地分离关注点;高度可定制的线程模型,单线程,1个或者多个线程池。
2.使用方便:详细记录的javadoc,用户指南和示例;没有其他依赖项;
3.高性能、吞吐量更高;低延迟;减少资源消耗;最小化不必要的内存复制;
4.设区或缺,不断更新,出现bug可以被及时修复。
 

以上是关于网络I/o编程模型10 netty介绍的主要内容,如果未能解决你的问题,请参考以下文章

Netty网络编程第六卷

网络I/o编程模型25 大结局 netty学习总结

网络I/o编程模型14 netty的核心组件

网络I/o编程模型22 netty的源码总结

Netty

网络I/o编程模型17 netty框架实现心跳机制