Java开源框架Netty

来源:互联网 发布:档案管理系统java 编辑:程序博客网 时间:2024/06/08 16:13

JBoss是什么?
       
JBoss是一个基于J2EE的开放源代码的应用服务器,是用于管理EJB的容器和服务器。但JBoss核心服务不包括支持servlet/JSP的WEB容器,一般与Tomcat或Jetty绑定使用。

Netty是什么?
          本质:JBoss做的一个Jar包
          目的:快速开发高性能、高可靠性的网络服务器和客户端程序
          优点:提供异步的、事件驱动的网络应用程序框架和工具
          通俗的说:一个好使的处理Socket的东东

Netty代替了什么?
          远古:java.net + java.io
          近代:java.nio

 

一、Netty的概述

    Netty是由JBOSS提供的一个基于NIO client-server(客户端服务器)的java开源框架,它提供了高层次的抽象来简化TCP和UDP服务器的编程,对IO进行了很好地封装、支持多种通信协议。Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。Netty相当简化和流线化了网络应用的编程开发过程,例如,TCP和UDP的socket服务开发。另外,Netty 吸收了多种协议的实现经验,这些协议包括FTP、SMTP、HTTP、各种二进制、文本协议,并经过相当精心设计的项目,最终,Netty 成功的找到了一种方式,在保证易于开发的同时还保证了其应用的性能,稳定性和伸缩性。

二、Netty的作用

    Netty有丰富的功能,其框架组成如下图:


三、Netty框架原理简述

    1、boss:首先会有一个9090端口的boss程序,负责创建线程启动worker;

    2、worker:每个worker中会有多个Connection,用于处理不同的请求。worker的工作:接收请求,对请求进行Decode;对请求进行业务逻辑处理(形式:Handle(HttpRequest,HttpResponse,...));对处理结果进行Encode,并返回。


0 0