`
wxyfighting
  • 浏览: 200945 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

从Jetty、Tomcat和Mina中提炼NIO构架网络服务器的经典模式(二)

 
阅读更多

下面再来看看Tomcat是如何使用NIO来构架Connector这块的。

先看看Tomcat Connector这块的类图:

其中:

NioEndpoint负责组装各部件

Acceptor负责监听新连接,并把连接交给Poller

Poller负责监听所管辖的channel队列,并把请求交给SocketProcessor处理

SocketProcessor负责数据处理,并把请求传递给后端业务处理模块

在整个服务端处理请求的过程可以分为三个阶段,时序图如下所示:

阶段一:监听并建立连接

这一阶段主要是Acceptor监听新连接,并轮询取一个Poller ,把连接交付给Poller

阶段二:监听客户端的请求

这一过程主要是让每个Poller监听所管辖的channel队列,select到新请求后交付给SocketProcessor处理

阶段三:处理请求

这一过程就是从多线程执行SocketProcessor,做数据和业务处理

于是乎我们发现抛开具体代码细节,Tomcat和Jetty在NIO的使用方面是非常一致的,采用的模式依然是下图:



分享到:
评论

相关推荐

    从Jetty、Tomcat和Mina中提炼NIO构架网络服务器的经典模式

    本文将从这三个框架中提炼出NIO构架网络服务器的经典模式,并逐一解析它们的核心机制。 首先,Jetty的NIO实现主要由以下几个关键组件组成: 1. **SelectChannelConnector**:负责整合各个组件,创建和管理连接。 2....

    Jetty和tomcat比较.docx

    ### Jetty和Tomcat的比较 #### 相同点 - **Servlet引擎**: Tomcat和Jetty都是基于Java的Servlet容器,支持标准的servlet规范和JavaEE的规范。这意味着开发者可以在这些容器中部署和运行Java Web应用。 #### 不同...

    websocket+tomcat+jetty+netty

    Tomcat、Jetty和Netty都是支持WebSocket的Java服务器平台,各有其优势和适用场景。理解这些技术可以帮助开发者选择最适合他们项目的解决方案,并且能够有效地利用WebSocket实现高效的实时通信功能。

    how tomcat works和jetty-src和tomcat7-src

    【标题】"how tomcat works和jetty-src和tomcat7-src" ...综上所述,对Tomcat和Jetty源代码的探索,不仅能增进对Web服务器工作原理的认识,还能提升开发者在Java Web开发中的专业技能,从而更好地应对复杂的项目需求。

    服务器tomcat、jetty

    在这个场景中,我们关注的是两个非常流行的Java应用服务器:Tomcat和Jetty。这两者都是用于托管Java Servlet和JavaServer Pages (JSP) 应用程序的开源平台。 **Tomcat** Tomcat是由Apache软件基金会维护的开源项目...

    如何将xacs从jetty平台移植到tomcat平台

    在这个资源中,我们将详细介绍如何将 XACS 从 Jetty 平台移植到 Tomcat 平台的步骤和过程。这个指南将帮助读者快速掌握移植的步骤,并成功将 XACS 部署到 Tomcat 平台上。 一、准备环境 在开始移植之前,我们需要...

    jetty,tomcat原理

    Jetty更适合需要低延迟、高度可定制和嵌入式场景的应用,而Tomcat则在标准支持、社区资源和大型企业应用中表现出色。在实际选择时,应根据项目需求、性能要求和团队熟悉度来决定。 在面试中,理解这两个容器的原理...

    Tomcat-JBoss-Weblogic-Jetty的区别和介绍

    Tomcat应用也算非常广泛的web 服务器,支持部分j2ee,免费,出自 apache基金组织 JBoss开源的应用服务器,比较受人喜爱,免费(文档要收费) weblogic应该说算是业界第一的app server,全部支持j2ee1.4, 对于...

    linux和windows版本的tomcat和jetty

    本压缩包包含了不同平台——windows以及linux最新的tomcat版本,(包含:tomcat-5.5.36、tomcat-6.0.37、tomcat-7.0.47)。 和jetty-distribution-9.0.6.v20130930。 供java web开发人员去下载

    SpringBoot切换Tomcat容器,SpringBoot使用Jetty容器

    在Spring Boot框架中,开发者可以选择不同的嵌入式Web服务器作为应用程序的容器,其中最常见的是Tomcat和Jetty。本文将深入探讨如何在Spring Boot项目中从Tomcat切换到Jetty容器,以及这两个容器的特点和使用场景。 ...

    Eclipse SVN Jetty Tomcat jad 等常用插件

    "Eclipse SVN Jetty Tomcat jad 等常用插件"这个标题提到了几个在Java开发中非常关键的工具和组件,让我们一一解析它们: 1. **SVN(Subversion)**: - SVN是版本控制系统,用于跟踪和管理项目源代码的变更。在...

    jetty 适合jdk1.8用的服务器

    Jetty是一款开源、轻量级的Web服务器和Servlet容器,被广泛用于开发、测试和部署Java Web应用程序。相较于Apache Tomcat,Jetty以其简洁的架构、高性能和低内存占用而受到开发者青睐。在选择Jetty时,必须考虑到与...

    jetty 服务器

    与传统的Tomcat服务器相比,Jetty具有更小的内存占用和更快的启动速度。由于它的模块化设计,可以根据实际需求选择需要的功能,从而保持轻量级特性。 2. **安装与配置** - **下载**:根据提供的压缩包文件名"jetty...

    jetty服务器

    在Java开发环境中,Jetty常常作为嵌入式服务器使用,便于快速构建和部署应用。 本资源包提供了Jetty服务器的安装包(jetty-distribution-9.4.14.v20181114.zip),这是Jetty的一个特定版本,9.4.14.v20181114。...

    Servlet引擎:JBoss与Tomcat、Jetty协同工作

    **二、JBoss与Tomcat/Jetty的协同工作** JBoss、Tomcat和Jetty虽然都是Servlet容器,但它们各有侧重。Tomcat以其轻量级和易用性著称,而Jetty则以其高性能和低资源消耗见长。在某些场景下,将这些容器协同工作可以...

    jetty嵌入式服务器实例大全

    Jetty是一款轻量级、高性能的Java Web服务器和Servlet容器,因其开源、小巧且易于集成的特点,被广泛应用于各种项目中。本实例大全将全面解析Jetty在不同场景下的使用,帮助你深入理解和掌握Jetty的特性。 1. **...

    jetty 服务器使用

    Jetty服务器是一款轻量级、高性能的Java Web服务器和Servlet容器,被广泛应用于小型到大型的Web应用程序。它以其小巧的体积、高效的性能以及易于集成的特点,在开发和测试环境中尤其受欢迎。下面我们将深入探讨Jetty...

Global site tag (gtag.js) - Google Analytics