1.Netty是什么?
1>.Netty是由JBOSS提供
的一个Java开源框架
,现在为Github上的独立项目;
2>.Netty是一个异步的
,基于事件驱动
的网络应用框架
,用于快速开发高性能
的,高可靠
的网络IO程序
;
如图:异步与同步
说明:
同步: 在传统的BS开发模式中(左图),
浏览器端发送一个请求到服务器端之后要一直等待服务器的响应,在这个过程中浏览器端不能做其他的事情/工作,直到服务器端对浏览器端的请求进行处理及响应之后,浏览器端才能继续往后执行;
异步: 在使用了ajax技术的请求过程中(右图),浏览器端向服务器端发送请求之后无须再等待服务器端的响应,服务器端在处理浏览器请求的过程中,浏览器端可以去做其他(跟本次请求响应无关)的事情(例如再发送一个请求),等到服务器端将请求处理完毕之后,会通过浏览器端请求中指定的回调函数对本次请求进行响应;
3>.Netty主要针对在TCP协议
下面向Client端
的高并发
应用,或者是Peer-To-Peer场景
下大量数据持续传输
的应用;
4>.Netty的本质是一个NIO(非阻塞式IO)框架
,适用于服务器通讯
相关的多种应用场景;
如图:Netty体系结构