Tomcat工作原理
2022-12-15 11:19 杭伟 阅读(228) 评论(0) 编辑 收藏 举报Tomcat要实现两个核心功能:
1,处理Socket连接,负责网络字节流与Request/Response对象的转化。
2,加载和管理Servlet,以及具体处理Request请求体(比如HelloServlet的doGet()方法进入和将请求对象转化为HttpServletRequest)。
核心组件示意图(图从网上扒的):
Server:Tomcat实例,只有一个。
Service:可以有多个。 比如一个Tomcat运行多个项目,则每个独立项目对应一个Service。
CONNECTOR:连接器,一个Service可以有多个(支持多种IO模型和协议)。负责处理网络字节流并经由Adapter转化为HttpServletRequest对象(注意这里有个接收请求的线程池)。
Engine:引擎,每个Service只有一个。用来管理多个虚拟站点(Host)。
在Engine内部,可以有多个Host,Host内部有多个Context,Context内部有多个Wrapper,Wrapper则对应一个Servlet。每种容器(子容器)都用到了Pipeline管道思想处理网络请求,
最终转发给业务Servlet。
源码入口:
startup.bat启动catalina.bat
catalina.bat执行Bootstrap类的main方法:
**Tomcat优化方向:
1,CONNECTOR连接器优化:
1.1,如需要几个连接器?是否需要AJP联动。
1.2,线程池参数优化。
1.3,Tomcat运行模式。
2,JVM参数调整。
作者:hangwei
出处:http://www.cnblogs.com/hangwei/
关于作者:专注于开源平台,分布式系统的架构设计与开发、数据库性能调优等工作。如有问题或建议,请多多赐教!
版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。
如果您觉得文章对您有帮助,可以点击文章右下角“推荐”一下。您的鼓励是作者坚持原创和持续写作的最大动力!