博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
从Jetty、Tomcat和Mina中提炼NIO构架网络服务器的经典模式(二)
阅读量:7061 次
发布时间:2019-06-28

本文共 516 字,大约阅读时间需要 1 分钟。

  hot3.png

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

先看看Tomcat Connector这块的类图:

其中:

NioEndpoint负责组装各部件

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

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

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

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

阶段一:监听并建立连接

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

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

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

阶段三:处理请求

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

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

转载于:https://my.oschina.net/chaun/blog/402417

你可能感兴趣的文章
基于servlet和jsp的简单注册登录页面(包括:增删查改及分页显示)
查看>>
数据结构基础之一
查看>>
10.29随笔
查看>>
ScintillaNET v2.5 简单应用实例讲解
查看>>
I.MX6 Android busybox 从哪里生成的
查看>>
循环节长度 蓝桥杯
查看>>
linux软件安装:源码(1)
查看>>
c++-merge k sorted lists heap的灵活应用
查看>>
干货站
查看>>
RabbitMQ 基础概念介绍
查看>>
1117bootstrap
查看>>
centos6.5上卸载和安装JDK7
查看>>
从文件加载至NSData
查看>>
分享一下自己用c++写的小地图
查看>>
马尔可夫模型
查看>>
bzoj 1697: [Usaco2007 Feb]Cow Sorting牛排序
查看>>
js面向对象编程
查看>>
Tensorflow serving的编译
查看>>
JAVA API----Math类和Random类
查看>>
155. Min Stack
查看>>