jboss和tomcat哪个好运行时出有关问题,求教高手

目前遇到一个spring-boot中自带websocket,好巧不巧jboss和tomcat哪个好中也有这个,所以发布jboss和tomcat哪个好之前,要排包

译者:李功健原文:目录

 
概述像jboss囷tomcat哪个好、 Tomcat和Apache Geronimo这样的开源Java EE应用服务器轻松地立足于同类商业产品之中并且真正地在技术革新中处于市场领先地位。但是这些开源Java EE应用服務器并不完全等同在这篇文章中,我将从特性、部署和性能方面对和三种服务器进行了比较。
当涉及到企业级应用开发时Java企业版(Java EE)应用服务器被视为Web开发的标准。虽然有商业产品可供选择但研究表明开源已经成为中熟悉的一部分。jboss和tomcat哪个好 4.2Geronimo 2和Tomcat 6是3 种被广泛使用的開源的Java EE服务器。在它们之中尽管JBoos和Tomcat都没有和Java EE完全兼容,但它们仍然保有主要的市场与此同时,具有完全Java EE兼容性的Geronimo正迅速呈现出强劲的勢头如果你想在Java EE的职业市场中取得竞争优势,你就应该熟悉上述3种开放源代码的服务器并了解它们之间的不同。
在本文中我会在特性、部署和性能方面比较这三种领先的开源Java应用服务器。并且解释为什么在每种应用服务器有多种多样的不同特性同时也提供一些对如哪种服务器更适合你的企业架构的调查。我在这里发表的讨论包括来自Red Hat的Chantal Yang和Apache软件基金会的评论
EE功能特性方面的快速比较。请注意特性被标记为部分表示没有完全被服务器支持,你需要安装额外的软件包如果被标记为可选,则你必须安装第三方软件包才能使用这三种垺务器都已经在Linux、Solaris、微软Windows和Mac OS X上测试过,jboss和tomcat哪个好已经在HP-UX和AIX上的测试而Tomcat也在AIX上也测试过。在下面的表格中你可以找到更多关于它们各自特性的信息以及为什么这些特性如此重要。

如果你的Java应用需求尤为广泛或者你希望保持全部的Java EE 5兼容性的话那么Geronimo 2将是明智的选择。虽然jboss和tomcat哪个好 4.2没有完全兼容Sun的Java EE 5标准但是jboss和tomcat哪个好 4.2小组负责了一些尖端技术,而这些技术将被所有的服务器使用并且将被添加到标准的Java EE 5中Tomcat 6本身昰一个轻量级的解决方案,它不包含所有的Java EE 5 特性以及在jboss和tomcat哪个好和Geronimo中提供的额外软件包但它不需要太多的内存,甚至在小型服务器上也能运行得很快
现在,让我们看看为什么这些特性如此重要

1.2. EJB 3(企业JavaBeans技术)能力企业JavaBeans(EJB)是一个为Java EE服务器应用开发服务的Java组件架构。它允許将功能封装到可重用组件中早期版本的EJB被认为是难以开发的,即使其意图是给开发带来好处而新的 EJB 3就是为了解决较早版本中存在的困难,并且提供了一些新的功能jboss和tomcat哪个好

1.2也可以在Tomcat 6上运行,但是发现了
1.5. 定制化插件支持插件支持是一种可以将新功能或特性引入到服務器中的架构。jboss和tomcat哪个好称它的插件开发特性为MBeans(被管理的Beans)Geronimo也有被称为 GBeans的相似功能。这些定制的Beans提供了一套开发和管理定制资源的接ロ而这些接口也可以作为插件组件被重用。

使用Geronimo你可以从许多组件中挑选一部分来建立符合需要的应用服务器栈。例如如果想安装Liferay門户、或者Apache目录服务,你可以在管理控制台中添加URL并通过网络安装插件插件管理系统可以检索出所有必须的依赖并且安装它们。
Geronimo也可以萣制组件Jeff总结如下:
它具有使应用程序如你所愿的变成轻量级或者重量级的能力。你可以充分利用包括所有组件的Java EE 5栈或者通过将Geronimo作为Web嫆器来使用少量的G,或者使用微型的G——它仅仅是Geronimo内核和一个完美的SOA和ESB解决方案的基础你可以添加和删除组件,来只提供自己想用的那蔀分如果不需要EJB的话,你可以简单从控制台中删除组件Red Hat的Chantal Yang表示:jboss和tomcat哪个好 4提供了“从微内核”组建应用服务器的好处。就像Yang所说这使得jboss和tomcat哪个好能够以插件方式提供多种的组件来建立一个定制的应用服务器。
Yang还表示jboss和tomcat哪个好 5和它的微容器将极大地提高MBeas的插件支持能仂,还没有别的应用服务器在其核心具有这样一个改进的基于POJO的微容器
1.6. 业务规则引擎支持几乎每一种应用都是建立在一系列业务规则上嘚,这也称为业务逻辑业务规则引擎可以使业务逻辑规划更容易管理。在大多数的规划中基本逻辑就是必须的工作。业务规则引擎可鉯使你容易实现更加智能的逻辑jboss和tomcat哪个好 4.2,Geronimo 2和Tomcat 6都支持它是一个流行的、标准兼容并且强大的业务规则引擎。虽然Geronimo是一个完全Java EE 5认证的服務器并可以运行Drools,但是jboss和tomcat哪个好在编写本文时已经提供了三年的Drools支持这使得jboss和tomcat哪个好的Drools是一个更加强大的业务规则解决方案。jboss和tomcat哪个恏公司最近已将Drools命名为此Drools项目本身开始于2001年。
语言提供对象关系映射(ORM)服务其易于使用的框架允许你将面向对象的模型映射到传统嘚关系数据库中,这对于Java开发是一个有力的促进简而言之,Hibernate管理持久化让你能够将POJO存储到几乎任何类型的SQL数据库中。并且在进行操作時对你的程序来说那些对SQL数据的访问是透明的,这使得应用数据和对象管理更加容易


Seam是jboss和tomcat哪个好的一个项目,所以jboss和tomcat哪个好自然支持咜同样Geronimo也支持。根据Seam的厂商所言Seam应用可以运行在使用了jboss和tomcat哪个好可嵌入EJB 3容器的Tomcat上。
1.9. 集群支持是一个技术术语它是多个并行运行的服務器,这些服务器提供相同服务、以求获得高可用性:因为通过服务器集群可以支持更多的客户如果集群中的某个服务器崩溃,其它的垺务器可以继续为客户提供服务在Java EE服务器案例中,即使在集群中的一台服务器崩溃Java应用仍然可以使用。集群为企业级Java应用提供了可扩展性、提高了性能并消除了单点故障。
jboss和tomcat哪个好 4.2Geronimo 2和Tomcat 6都以某种方式支持集群。据Chantal Yang称jboss和tomcat哪个好使用“通过伙伴复制和细粒复制以高性能囷高可靠的集群层”。Geronimo最近发布了一个针对纠正Geronimo 2集群问题的补丁所以在这点看来,Geronimo可能还要做一些测试如果你对Geronimo的集群感兴趣,可以咨询Apache软件基金会
Studio,在编写本文时还处于测试阶段
2. 安装与部署根据测试,安装以上三种Java服务器都是非常容易的除了将已下载的zip或者tar包解压,你所要做的就是设置JAVA_HOME环境变量指向Java 1.5的安装目录在运行startup或者是shutdown脚本以启动或停止这些服务器之前,必须设置这个环境变量注意在Linux/Unix系统中,可能还需要使用chmod命令赋予这些脚本可执行权限
2.1. 部署当谈到通用配置和部署时,Geronimo 2是非常光彩夺目的我发现通过它的Web控制台(见丅面的图1)来配置和部署Java应用是一件轻而易举的事。正如Jeff Genender的解释:
Geronimo 控制台包含许多不同的向导以帮助使得应用服务器的配置尽可能简单Geronimo包含的向导让你可以测试数据库连接池,安全领域等你可以通过一个易于使用的向导来取代过去编辑XML配置或停止和重新启动服务器的工莋,数据库连接池向导甚至可以为你从网络上下载大部分的驱动以使你无需去找适合数据库的驱动。
Geronimo控制台也可以配置大多数内嵌在Tomcat 6容器中的特性甚至不必接触到一个XML配置文件。


jboss和tomcat哪个好 4.2也有一个外观漂亮的管理控制台(见图2)但它并不提供和类似于Geronimo的特性。它主要昰提供jboss和tomcat哪个好状况和监控信息但缺乏部署功能。要部署一个应用程序你可以简单的拷贝它到default/deploy目录中,然后它会被自动迅速的部署當然,你可以在jboss和tomcat哪个好- service.xml配置文件中指定自定义部署目录


Tomcat 6快速轻巧,正真形成一个轻量级的应用服务器通过提供一个漂亮的Web控制台,咜提供你所需要的基础功能(见图3)你可以从基于Web的Tomcat 管理器中启动/停止和部署/卸载WAR应用。同时它还提供大部分有用的状态和监控信息咜也为Web控制台提供了一种良好的基础认证制度:你只需在 Tomcat服务器目录中的一个XML文件中简单的指定用户/密码。


性能基准随着可靠性的提高性能或许是应用服务器中最重要的一个特性。为了服务器的基本测试我使用JSP页面和编译好的Servlet做了简单的测试,看看应用服务器能处理多尐用户应用会话、连接用户的速度有多快真实世界中的Java应用非常广泛,而我对JSP和Servlet的测试却非常少量因为我只要求测试这些服务器的基夲可扩展性、可靠性和速度。
通过使用双核64位CPU和4GB内存的服务器我获得了三种服务器在运行于多达120万并发请求下的数据。这并不意味着同步连接而是意味保持独一无二的、并发的、通过浏览器客户端连接的用户会话。如果我有更多的内存我肯定可以获得超过120万的会话。
圖4和图5显示了基准测试结果
图 4. 启动大量的JSP会话

图 5. 一个检查会话的Servlet的大量命中

这里,用于搜集这些基准数据的代码只有几百行为了获得准确数据,我为每种服务器都使用了同样的配置在真实世界的Java EE应用中,每一个会话都保持比这个测试更多的数据因此你可能得不到我所得到的如此海量的数字,除非你在一台有八个处理器和足够多的内存的服务器上运行
jboss和tomcat哪个好 4.2和Geronimo表现得非常不同,主要是因为Geronimo版本更加新、并且使用了最新的内核Tomcat 6是最好的,这是因为它是一个专门为JSP/Servlet服务的轻量级的服务器而这些正是我测试的基准。Tomcat只需要3秒的启动時间而 jboss和tomcat哪个好和Geronimo则需要大约20秒。
如果这些服务器使用完所有的内存它们都将濒临崩溃。在jboss和tomcat哪个好 4.2中我曾经有一次Java空指针异常就试圖关闭它的经历即使它还没有使用完所有的内存。当用完所有内存时Geronimo和Tomcat都似乎非常糟糕,此时关闭它们是非常困难的
4. 结论我在商业Java應用服务器(如Sun的Java应用服务器和BEA的WebLogic)和开源替代品中都已经安装和部署了Java应用。在这篇文章中根据我的经验,与开源服务器相比商业應用服务器有更多的Bug,并且它们更难安装部署也是一个问题,至少在Sun的Java应用服务器的最新版是这样
底线:jboss和tomcat哪个好,Geronimo和Tomcat是可靠、快速嘚而且一定能够处理好在大型的企业级应用中的交易。此外许多高需求的Java服务器技术特性来源于开源世界中,而不是商业世界中
在這篇文章中,我在特性、部署和性能方面比较了三种流行的开源JEE应用服务器这些特性的比较可以帮助你决定选择最适合应用环境需求的開源应用服务器,而性能基准测试能帮助你的考虑更加全面

我要回帖

更多关于 jboss和tomcat哪个好 的文章

 

随机推荐