本文主要是介绍Netty简介、线程模型及异步模型详细介绍——小马同学@Tian,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Netty
1 netty简介
Netty是由JBOSS提供的一个java开源框架。Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。
也就是说,Netty 是一个基于NIO的客户、服务器端编程框架,使用Netty 可以确保你快速和简单的开发出一个网络应用,例如实现了某种协议的客户、服务端应用。Netty相当于简化和流线化了网络应用的编程开发过程,例如:基于TCP和UDP的socket服务开发。
“快速”和“简单”并不用产生维护性或性能上的问题。Netty 是一个吸收了多种协议(包括FTP、SMTP、HTTP等各种二进制文本协议)的实现经验,并经过相当精心设计的项目。最终,Netty 成功的找到了一种方式,在保证易于开发的同时还保证了其应用的性能,稳定性和伸缩性。
(1)Netty提供了简单易用的API
(2)基于事件驱动的编程方式来编写网络通信程序
(3)更高的吞吐量
(4)学习难度低
应用场景:
JavaEE: Dubbo
大数据:Apache Storm(Supervisor worker进程间的通信也是基于Netty来实现的)
2 Netty线程模型
Reactor和proactor模型
Reactor:基于NIO技术,可读可写时通知应用;
proactor:基于AIO技术,读完成时通知应用,写操作应用通知内核。
这篇关于Netty简介、线程模型及异步模型详细介绍——小马同学@Tian的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!