快速业务通道

J2EE应用程序部署:每台应用程序服务器上部署一个应用程序还是多个应用程序 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17
要注意的事项包括对应用程序构建的控制以及对 应用程序服务器过程的控制。因为 EAR 不仅是一个部署时(deploy-time)组件,而且还 是一个构建时(build-time)组件,所以情况还可能取决于谁可以触发构建行为。虽然通 常都建议 EAR 应是完全独立的,但是事实上并不是必须如此,而且有许多 EAR 并非完全 独立的情况。一个 EAR 中的 EJB 或 servlet 依赖于另一个 EAR 中的 EJB 并可以通过全 局 JNDI 名称空间进行访问,这并不罕见。如同前面所提到的,WebSphere Application Server 使您能够停止和启动各个应用程序,但是在某些情况下,一个应用程序升级可能要 求您启动和停止整台应用程序服务器。一个组织是愿意停止或启动整台运行着多个应用程 序的应用程序服务器来执行更新呢?还是希望能一个应用程序一个应用程序地执行更新呢 ?如果每个应用程序有一台应用程序服务器,这样做就会更容易,不过,对于一台应用程 序服务器上有多个应用程序的情况,也可以做到这一点。

应用程序如果要求用户在 JVM 类路径中添入某些项或者要求用户设置全局 JVM 系统属 性,那么应用程序本身就有可能引入相互冲突的需要。选择类装入器可见性也会导致部署 不兼容性问题,例如在应用程序采用单一的 singleton 时使用服务器可见性。在单个 JVM 中按这样的体系结构部署两个或更多个应用程序不可能有服务器可见性。Keys Botzum 在 J2EE Packaging and Common Code中更详细地讨论了如何部署和打包应用程序,Rick Robinson 在 Developing and Deploying Modular J2EE Applications with WebSphere Studio Application Developer and WebSphere Application Server中更详细地讨论了如 何选择类装入器。

在极端情况下,编写得很糟糕的应用程序会导致 JVM 挂起或发生故障,并因而影响其 他表面上不相关的应用程序。考虑一下这种情况:一个编写得很糟糕的应用程序启动了许 多线程,或者消耗了许多内存或其他共享资源(如数据库连接)。在这个示例中,有几种 可能的情况,一个应用程序可以接管一台应用程序服务器而让其他的应用程序处于饥饿状 态。同样,性能特征需要兼容。事实上,调优本文的性能测试部分所使用的两个应用程序 花了本文作者相当多的时间和精力。经过系统的测试和细心的规划,您仅可以识别和修复 应用程序或资源冲突。

J2EE应用程序部署:每台应用程序服务器上部署一个应用程序还是多个应用程序(3)

时间:2011-04-11 IBM Tom Alcott

故障转移和工作负载管理

应用程序部署还取决于故障转移要求。WebSphere Application Server 4.x 通过服务 器组提供故障转移和工作负载管理定义。服务器组支持将多个应用程序服务器组成群集。 结果,您将只想把应用程序分组到同一个应用程序服务器中,或分组到有类似的可伸缩性 和/或故障转移需要的服务器组中。

请考虑下面的图 2 中描述的部署备选方案。哪一个方案是供故障转移使用的?

图 2.

J2EE应用程序部署:每台应用程序服务器上部署一个应用程序还是多个应用程序 - 编程入门网

在这种方案中,每台应用程序服务器上只有一个应用程序,一台应用程序服务器发生故 障将导致与该应用程序服务器相关联的应用程序的服务丢失。请记住:大多数环境都意识 到上面描述的两种部署选择都不是真正容错的,因为单独一台物理服务器的丢失会造成停 机。下面的图 3 中描述了一种更典型的方案。这种部署方案将物理服务器作为单个故障点 除去。如需更多关于如何使用 WebSphere Application Server 规划和实现高度可用的环 境的信息,请参阅 Modjeski 等人著的白皮书 Failover and Recovery in WebSphere Application Server Advanced Edition 4.0。

图 3.

J2EE应用程序部署:每台应用程序服务器上部署一个应用程序还是多个应用程序 - 编程入门网

结束语

虽然本文作者支持在多个 J2EE 应用程序之间只共享一台 JVM/应用程序服务器,但是 在许多情况下,这样可能并不切合实际。对于许多组织来

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多
HTTP/1.1 401 Access Denied ="_blank">iBATIS 3内的新特性:将iBATIS用作应用程序内的一种持久框架 - 编程入门网
  • Photoshop绘制高光水晶质感水晶苹果
  • Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

    地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

    电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

    《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号