Sun Java System Application Server 9.1 部署规划指南

使用群集提高可用性

在最基本的情况下,群集是一组应用服务器实例(通常位于多个物理服务器上),对于客户机而言,这些实例显示为单个实例。这可提供水平伸缩性以及比单个计算机上的单个实例更高的可用性。这种基本级别的群集与 Application Server 的 HTTP 负载平衡器插件结合使用,它接受 HTTP 和 HTTPS 请求,并将其转发到群集中的某个应用服务器实例。ORB 和集成的 JMS 代理也会为应用服务器群集执行负载平衡。如果某个实例出现故障、变得不可用(由于网络故障)或无法作出响应,则会将请求仅重定向到现有的可用计算机中。负载平衡器还可以识别有故障的实例何时得到恢复并相应地重新分配负载的情况。

HTTP 负载平衡器还提供一个运行状况检查器程序,它可以监视服务器和特定 URL 以确定它们是否可用。必须小心地控制运行状况检查的开销,以免其本身成为较大的处理负载。

对于无状态应用程序或仅包含较小值的简单用户事务的应用程序,通常只需要使用简单的负载平衡群集。对于有状态的重要应用程序,请考虑使用 HADB 保存会话持久性。有关 HADB 的概述,请参见 Application Server 管理指南第 1 章,产品概念中的高可用性数据库

要联机执行应用程序的升级,最好将应用服务器实例划分到多个群集中。Application Server 可以将应用程序和实例设置为休眠状态。休眠是指以可控制的方式将实例(或实例组)或特定应用程序设置为脱机状态,而不会影响用户当前使用实例或应用程序。将某个实例设置为休眠状态后,新用户将使用另一个实例上已升级的应用程序。这种类型的应用程序升级称为滚动升级。有关升级实时应用程序的更多信息,请参见《Sun Java System Application Server 9.1 高可用性管理指南》中的“升级应用程序而不使可用性受到损失”