什么是Jetty?
简单来讲Jetty就是一个开源的HTTP服务器和Servlet引擎,它可以为JSP和Servlet提供运行时环境,比如Java Web应用最常用的Servlet容器Tomcat,由于其轻量、灵活的特性,Jetty也被应用于一些知名产品中,例如ActiveMQ、Maven、Spark、GoogleAppEngine、Eclipse、Hadoop等。
为什么使用Jetty?
①异步的 Servlet,支持更高的并发量
②模块化的设计,更灵活,更容易定制,也意味着更高的资源利用率
③在面对大量长连接的业务场景下,Jetty 默认采用的 NIO 模型是更好的选择
④将jetty嵌入到应用中,使一个普通应用可以快速支持 http 服务
Jetty的基本架构:
Jetty 的架构比较简单,核心组件主要是由 Server 和 Handler 组成。其中 Server 的 Handler 是其比较重要的一个数据模型,Jetty 中所有的组件都是基于 Handler 来实现的。
Jetty与Tomcat的对比:
①Jetty 比较容易贴合第三方框架,比如你可以直接用 Spring 配置一个 Jetty 服务器
②直接可以将 Jetty 作为提供 HTTP 服务的组件,嵌入到应用中
③Jetty 是面向 Handler 的架构,而 Tomcat 是面向容器的架构
④Jetty 默认采用 NIO 技术,而 Tomcat 默认是 BIO
⑤Jetty 高度模块化,可以很灵活的管理拓展组件,而 Tomcat 对其他组件的管理则相对困难