Jetty 具有开源且可用于商业用途的组件,是 Java 开发的流行选择。在这篇文章中,我们将仔细研究 Jetty,它是如何工作的,它的用途是什么。
什么是Jetty服务器?
Jetty 是一个开源 Java Web 服务器,也是一个 servlet 容器,它为应用程序提供启动和运行应用程序 servlet 或 API 所需的功能。
Jetty 服务器如何工作?
Jetty 能够像传统应用服务器(如 Tomcat 或 Wildfly)一样在所谓的独立部署中运行应用程序。Jetty 还具有作为嵌入在现有应用程序中的 servlet 运行的功能。这允许你不在 Jetty 中运行应用程序,而是在你的应用程序中运行 Jetty。
为什么你会在你的应用程序中将 Jetty 作为嵌入式系统运行? 有一些明显的优势,包括更好的自包含应用程序、针对服务器等应用程序依赖项进行测试的能力、对自定义过滤器、标头和缓存的更多控制以及单对象部署。本质上,由于开发人员能够简化他们的手动测试,因此这些优势特别是在开发过程中缩短了应用程序开发时间。
这种简化可以减少应用程序启动和运行所需的时间,因为应用程序被更好地包含并有助于促进更多的微服务的分布式架构。不仅自包含的服务简化了部署,而且像 Maven 这样的插件甚至进一步简化了他们的过程,因为他们可以将他们的配置硬编码到他们的构建中。
Jetty是用来干什么的?
Jetty 的使用方式多种多样,从本地开发一直到真正的企业部署。 Jetty 是轻量级的免费服务器,内存占用低,以其出色的可扩展性而自豪,可帮助开发团队在整个软件开发生命周期中扩展他们的应用程序。 因此,想要将开发利用到云中或使用健康数量的微服务而不改变其部署到生产中的应用程序架构的团队倾向于使用Jetty。
Jetty 不仅将提供简化的配置和完全包含的服务来增加可扩展性,而且 Jetty 的低内存占用进一步增加了可扩展性。 这种低内存占用降低了应用程序上不必要的开销。 这允许开发人员在本地开发中的重启时间显着减少,有时快 16 倍,这意味着开发人员现在可以更频繁地进行测试,而无需花费太多时间等待服务启动。
除了更多的测试之外,由于包含更多的服务,并且应用程序的负载与完全部署的应用程序的负载相似,因此开发人员的测试立即变得与生产环境更相关。
Jetty Server 可以运行真正的应用程序吗?
由于 Jetty 本身在很大程度上只是一个容器,它缺少运行更重要的应用程序时所需的许多组件。 有一个名为“Hightide”的 Jetty 发行版,它提供了托管需要 JNDI、JMX、注释或 Java EE 集成的应用程序所需的组件和功能。
Jetty 9 还没有提供 Hightide 的发行版,但是对于那些想要使用 Hightide 的人来说,现在有一个基于 Jetty 8 的发行版。 Jetty Hightide 包括 JNDI、JMX、注释以及 JEE 集成。 即使拥有所有这些出色的功能,它仍然是轻量级的——Hightide 的大小只有 24 兆字节。 与常规 Jetty 安装一样,Hightide 还提供了大量用法和操作示例,以帮助你理解和使用其 Java EE 集成和功能。
Jetty 在管理和开发方面仍然需要一些更好的工具。 但是,对于开发者来说,它毕竟是一款非常方便的服务器,适用于对性能和配置要求较高的网站。
了解更多