Tomcat 总体设计

文章参考 tomcat架构解析.pdf

tomcat中的socket服务线程:

 tomcat说白了就是一个socket服务线程,监听8080端口,一旦有连接过来就生成一个socket来对应,
 然后把socket扔给后端的Executor线程池,由线程池中的一个线程负责进行后续的处理,
 而ServerSocket线程继续监听等待下一个连接的到来。

1.Connetor 链接器( 链接器框架名称是Coyote) ,
它包含以以下功能:
在这里插入图片描述
它监听到请求的处理流程:
在这里插入图片描述
ProtocolHandler(协议处理器) 它包括一个Endpoint 用于启动一个Socket监听,监听Connector 中的协议,
将监听到的协议请求交给Processor, Processor按照指定协议读取数据构造Request,通过Adapter提交到Catalina容器。
Mapper(维护容器映射信息) 用于将Processor 请求数据映射到具体的容器中。
MapperListener用于监听容器组件的状态,注册或取消对应的容器映射信息。
2 Bootstrap和Catalina类
在这里插入图片描述
3.tomcat 服务架构
在这里插入图片描述
4.tomcat服务启动
在这里插入图片描述
说明: $CATALINA_HOME/bin/bootstrp.jar 通过反射创建Catalina实例,
Catalina提供shell程序解析server.xml并创建server.xml中各个组件,同时负责启动和停应用服务器。
5.tomcat请求处理流程
在这里插入图片描述
6.Coyote
6.1 概念
在这里插入图片描述
6.2 coyote支持的协议和I/O
支持三种协议,HTTP/1.1,HTTP/2.0,AJP
针对HTTP/1.1,AJP支持以下3种I/O方式 NIO,NIO2,APR

发布了4 篇原创文章 · 获赞 4 · 访问量 145

猜你喜欢

转载自blog.csdn.net/m0_37567124/article/details/102875575