概念

  • Jetty是Java语言编写的,开源的servlet容器和WEB应用服务器
  • Jetty 极度轻量级、高便携性、功能强大、灵活和扩展性好
  • 支持各种技术如SPDY、WebSocket、OSGi、JMX、JNDI和JAAS

Jetty has a slogan, "Don't deploy your application in Jetty, deploy Jetty in your application." What this means is that, putting an HTTP module into your application, rather than putting your application into an HTTP server.

Jetty的口号是:“不要把你的程序部署到Jetty里,而是把Jetty部署到你的程序里”,意味着,你可以把Jetty当成程序的一个HTTP模块放到你的程序里。

架构

Jetty 的架构比较简单,核心组件主要是由 Server 和 Handler 组成。其中 Server 的 Handler 是其比较重要的一个数据模型,Jetty 中所有的组件都是基于  Handler 来实现的。

为什么要使用Jetty

  • 异步的 Servlet,支持更高的并发量  
  • 模块化的设计,更灵活,更容易定制,也意味着更高的资源利用率
  • 在面对大量长连接的业务场景下,Jetty 默认采用的 NIO 模型是更好的选择
  • 将jetty嵌入到应用中,使一个普通应用可以快速支持 http 服务

Jetty与Tomcat比较

  1. Jetty 比较容易贴合第三方框架,比如你可以直接用 Spring 配置一个 Jetty 服务器
  2. 直接可以将 Jetty 作为提供 HTTP 服务的组件,嵌入到应用中。按需加载组件,减少了服务器的内存开销
  3. Jetty 是面向 Handler 的架构,而 Tomcat 是面向容器的架构
  4. Jetty 默认采用 NIO 技术,而 Tomcat 默认是 BIO
  5. Jetty 高度模块化,可以很灵活的管理拓展组件,而 Tomcat 对其他组件的管理则相对困难
  6. Jetty可以同时处理大量连接而且可以长时间保持连接,适合于web聊天应用等

典型应用

ActiveMQ、Maven、Spark、GoogleAppEngine、Eclipse、Hadoop

 

 

参考

https://blog.csdn.net/qq_36522306/article/details/80699391

下一篇:Jetty应用

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐