当前位置: > Linux服务器 > Tomcat >

Jetty与Tomcat综合比较

时间:2019-02-12 13:05来源:linux.it.net.cn 作者:IT
   Tomcat和Jetty都是一种应用的比较广泛的Servlet引擎,但是相比较于Jetty,Tomcat更加稳定成熟,其市场霸主地位仍然难以撼动。但是两者各有优劣,现对其进行综合比较:
 
 
 
架构方面
     Jetty所有组件都是基于Handler来实现的,是一种面向Handler的架构。(Spring是一种面向Bean的架构,IBatis是一种面向Statement的架构)         
 
从设计模式角度来看:一、Handler采用责任链设计模式:HandlerCollection可以帮助开发者构建一个链,接口类ScopeHandler可以帮助开发者控制这个链的访问顺序;二、采用了观察者设计模式,对象只要继承了LifeCycle接口就可以被Jetty管理控制整个生命周期。
 
      Tomcat则是一种多级容器的构建模式,所有组件依附于其构建骨架;其核心就是容器设计,设计臃肿复杂,是为了更好扩展,但是将内部结构暴露给了外部使用者,学习难度变大,增加学习成本,其难度。
 
 
 
      Jetty讲的是做某件事的规范,即告诉你应该怎么做,如果做由开发者自己实现;
 
      Tomcat则是已经做了很多的工作,你要先理解这些工作,然后在此基础上做额外的工作。
 
 
 
性能方面
     Tomcat和Jetty的使用场景不尽相同,即对相同的使用场景,两者性能各有优劣。
 
     Jetty可以同时处理并保持大量的连接,适合生命周期长的;按需加载组件,使用NIO技术,处理I/O请求上更具优势。例如,淘宝Web旺旺使用的就是Jetty作为Servlet引擎。
 
     Tomcat适合处理少数频繁并且生命周期短的连接;使用BIO技术,处理静态资源时性能较差。
 
 
 
特性方面
    Jetty和Tomcat都支持标准的Servlet规范、JavaEE规范。
 
    只不过Tomcat更加成熟,支持的更加全面而已,集成了很多这些规范的特性;整体结构复杂,修改功能缓慢,不易扩展。
 
    而Jetty轻便灵敏(因为其开发社区更加灵活,修改更加简单),整体结构简单易用,组件可替换,功能修改较快,容易扩展。
 
 
 
 
 
(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容