在文章《 Drools规则引擎Business Central Workbench版本变更》中我们了解到Drools规则引擎的workbench最新版本只支持WildFly应用服务器。那么,这篇文章就带大家了解一下,目前市面上主流的java web应用服务器。

tomcat

使用java编程的人基本上都使用过tomcat来部署应用,因为它已经占到了所有Java应用服务器部署的60%。而Tomcat是Apache Software Foundation开发的与Java Web应用程序一起使用的最流行的应用程序服务器。

实际上,Tomcat没有实现Java EE应用程序服务器所需的所有功能。Tomcat的准确来说是“web服务器”或“servlet容器”。使用时只需将它们作为应用程序中的其他第三方依赖项包含在内。

Tomcat已经非常成熟,文档齐全,也是使用最广泛的Java应用程序服务器。

Jetty

Jetty是另一个应用程序服务器(由Eclipse Foundation开发),像Tomcat一样它缺乏对许多Java EE功能的支持,也同样可以通过添加其他第三方依赖项来使用大多数功能。简单来讲Jetty就是一个开源的HTTP服务器和Servlet引擎,它可以为JSP和Servlet提供运行时环境。

虽然Jetty的市场份额远不及Tomcat的市场份额,但它仍然广泛应用于行业。它的两个主要卖点是紧凑和占地面积小。两者都使Jetty非常适合受限环境和嵌入其他产品。

Jetty的特点如下:

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

Jetty与Tomcat的对比:

  • Jetty比较容易贴合第三方框架,比如你可以直接用Spring配置一个Jetty服务器。
  • 直接可以将Jetty作为提供HTTP服务的组件,嵌入到应用中。
  • Jetty是面向Handler的架构,而Tomcat是面向容器的架构。
  • Jetty默认采用NIO技术,而Tomcat默认是BIO。
  • Jetty高度模块化,可以很灵活的管理拓展组件,而 Tomcat 对其他组件的管理则相对困难。

GlassFish

GlassFish是由Oracle开发的功能齐全且经过认证的Java EE应用服务器。GlassFish比Tomcat或Jetty更重量级,并且可以说,操作起来有点困难。

GlassFish不仅仅是一个通用的Java EE应用服务器,它是Java EE标准的参考实现。这意味着它用于展示Java EE功能,它得到了定义Java EE标准的贡献。因此,GlassFish将始终首先支持最新的Java EE功能。

缺点是缺少商业支持。

WildFly

WildFly,以前称为JBoss Application Server,由红帽(Red Hat)开发,是另一个功能齐全且经过认证的应用服务器,是一个开源的基于JavaEE的轻量级应用服务器。

Wildfly遵循LGPL2.1许可,可以在任何商业应用中免费使用。WildFly是一个灵活的、轻量的、强大管理能力的应用程序服务器。Wildfly是一个管理EJB的容器和服务器,但JBoss核心服务不包括支持servlet/JSP的WEB容器,一般与Tomcat或Jetty绑定使用。

WildFly相对于GlassFish的最大优势是Red Hat提供了从WildFly到其商业支持的应用服务器JBoss企业应用程序平台的简单迁移路径。您可以立即使用WildFly,如果需要可以快速迁移到JBoss EAP,并获得商业支持。

WildFly的特点如下:

  • 无与伦比的速度:快速启动,无限的网络性能和可扩展性。
  • 非常的轻量级:瘦内存管理,WildFly采用积极的方式进行内存管理,使用了基本运行时服务以最小化堆的分配。
  • 可定插拔:WildFly的架构基于可插拔子系统,该功能全部由配置文件来控制,配置文件中有不同的子系统块模块。要移除wildfly子系统模块,您只需删除配置文件中的配置。
  • 强大的管理功能:wildfly的配置文件是集中,统一以及以用户为中心的,而不是任意的发送,在服务器端疯狂的修改。

改如何选择应用服务器

这要因项目而异。

如果不需要大量的Java EE支持,那么通常大家选择的tomcat是最好的选择,基本上属于行业标准,文档和资料非常齐全。

如果考虑的使用空间的大小,或者说受使用空间的限制,则可考虑jetty,它更加灵巧。

如果需要大量Java EE的支持,同时所需要的功能又不能作为第三方插件来使用,则可考虑WildFly。

回归Drools workbench

其实使用过基于tomcat版本的workbench war的朋友可能都了解到,基于tomcat来部署workbench需要绕很多弯儿,需要自己添加很多依赖插件。这可能也是官方停用tomcat版本支持的原因之一吧,更重要的是没有相关开源者来共享该版本的内容。

原文链接:https://www.choupangxia.com/2019/10/03/%e7%83%ad%e9%97%a8web%e5%ae%b9%e5%99%a8tomcat%e3%80%81jetty%e3%80%81-glassfish%e3%80%81wildfly%e5%af%b9%e6%af%94/

相关技术视频

QQ技术交流2群:715840230

CSDN学院:《Drools7规则引擎进阶教程》

CSDN学院:《Drools7规则引擎入门教程》

CSDN学院:《Drools7系列优惠套餐》

Drools规则引擎基础+Workbench实战视频教程套餐

参考文章:

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

https://blog.csdn.net/qq_24501105/article/details/84455056



热门web容器Tomcat、Jetty、 GlassFish、WildFly对比插图

关注公众号:程序新视界,一个让你软实力、硬技术同步提升的平台

除非注明,否则均为程序新视界原创文章,转载必须以链接形式标明本文链接

本文链接:https://choupangxia.com/2019/10/03/%e7%83%ad%e9%97%a8web%e5%ae%b9%e5%99%a8tomcat%e3%80%81jetty%e3%80%81-glassfish%e3%80%81wildfly%e5%af%b9%e6%af%94/