Jetty 的工做原理以及与 Tomcat 的比较

1. Jetty的基础架构

Jetty目前是一个比较背看好的Servlet引擎,它的架构比较简单,也是一个扩展性强和很是灵活的应用服务器,它有一个基础数据类型,这个数据类型就是Handler,全部能够被扩展的组件均可以做为一个Handler,添加到Server中,Jetty就是帮你管理这些Handler。web

下图是Jetty的基础架构图,整个Jetty的核心组件有Server和Connector两个组件构成,整个Server组件是基于Handler容器工做的,它相似于Tomcat的Container容器。Jetty中另一个必不可少的组件是Connector,它负责接受客户端的链接请求,并将请求分配给一个处理队列去执行。服务器

2. Jetty和Tomcat的比较

2.1 相同点

Tomcat和Jetty都是一种Servlet引擎,他们都支持标准的Servlet规范和JavaEE的规范。架构

2.2 不一样点

1. 架构比较性能

  • Jetty的架构比Tomcat的更为简单
  • Jetty的架构是基于Handler来实现的,主要的扩展功能均可以用Handler来实现,扩展简单。
  • Tomcat的架构是基于容器设计的,进行扩展是须要了解Tomcat的总体设计结构,不易扩展。

2. 性能比较spa

  • Jetty和Tomcat性能方面差别不大
  • Jetty能够同时处理大量链接并且能够长时间保持链接,适用于web聊天应用等等。
  • Jetty的架构简单,所以做为服务器,Jetty能够按需加载组件,减小不须要的组件,减小了服务器内存开销,从而提升服务器性能。
  • Jetty默认采用NIO结束在,在处理I/O请求上更占优点,在处理静态资源时,性能较高
  •  
  • Tomcat适合处理少数很是繁忙的连接,也就是说连接生命周期短的话,Tomcat的整体性能更高。
  • Tomcat默认采用BIO处理I/O请求,在处理静态资源时,性能较差。

3. 其余比较.net

  • Jetty的应用更加快速,修改简单,对新的Servlet规范的支持较好。
  • Tomcat目前应用比较普遍,对JavaEE和Servlet的支持更加全面,不少特性会直接集成进来。

 

参考:https://www.oschina.net/question/129540_28126设计

参考:http://blog.csdn.net/classicbear/article/details/6968930blog

相关文章
相关标签/搜索