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

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

 

Httpdhttps://httpd.apache.org

从官网描述可知,此服务器面向Unix和windows,提供有效率且极其稳定的HTTP服务。模块化服务器,支持独立运行,本身支持静态解析(html,css,图片等),可通过扩展支持动态页面。

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

 

Nginxhttp://nginx.org/en/

轻量级HTTP/反向代理服务器,并发能力强于Httpd,占用内存资源极少,但只支持静态解析,不支持扩展动态页面解析。其负载均衡/静态文件处理/高并发是其优势。

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

 

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

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

 

Tomcathttps://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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值