开源框架学习–Tomcat(2)–应用背景与优缺势

  • Post author:
  • Post category:其他


在理解Tomcat源码前,想描述下Tomcat的应用服务器与其他知名开源服务器的区别,更有助于理解源码。相较于著名的Apache Http Server(httpd) / Nginx / Jetty,Tomcat的应用场景以及与这些服务器对比下,其优势缺点是什么呢?


Httpd



https://httpd.apache.org

从官网描述可知,此服务器面向Unix和windows,提供

有效率且极其稳定

的HTTP服务。模块化服务器,支持独立运行,本身支持静态解析(html,css,图片等),可通过扩展支持动态页面。

同步多进程模型,一个连接对应一个进程.


Nginx



http://nginx.org/en/

轻量级HTTP/反向代理服务器,并发能力强于Httpd,

占用内存资源极少

,但只支持静态解析,不支持扩展动态页面解析。其

负载均衡/静态文件处理/高并发

是其优势。

异步的,多个连接(万级别)可以对应一个进程.


Jetty

:

https://www.eclipse.org/jetty/


轻量级

Servlet容器, 其API以一组JAR包形式发布. 开发人员可以将Jetty容器实例化成一个对象,可以迅速为一些独立运行的Java应用提供网络和web连接。即

嵌入式的Web容器


Tomcat

:

https://tomcat.apache.org

Web应用(Java)服务器,只是个Servlet容器,优势是动态解析页面/处理动态请求。不支持嵌入。

总结:综合以上四个开源项目的特点,了解到Tomcat的优势及局限性,往往Tomcat需要结合其他服务器如Nginx和Httpd来满足高并发稳定的多样需求。Nginx用来负载均衡转发请求—静态资源请求由Nginx转发至专门的静态服务器(httpd等),动态内容请求转发给Tomcat。严格意义上来讲,Httpd和Nginx应该叫做HTTP Server,而tomcat是一个Application Server是一个Servlet应用的容器。

参考:


https://blog.csdn.net/weixin_44221613/article/details/88410701?utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.control&dist_request_id=&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.control



版权声明:本文为h230300016原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。