升级组件而不使服务受到任何损失

在群集环境中,滚动升级能够以服务和会话损失最少的方式重新部署应用程序。会话是可复制的任何工件,例如:

可以使用负载平衡器和多个群集来升级 GlassFish Server 中的组件,而不损失任何服务。例如,组件可以是 JVM 计算机、GlassFish Server 软件或 Web 应用程序。

滚动升级可在轻度到中度负载下进行。对于每个 GlassFish Server 实例,该过程需要大约 10-15 分钟。

升级过程中,应用程序必须兼容。在某些实例运行旧版本而其他实例运行新版本的过渡期间,应用程序必须能够正常工作。旧版本和新版本必须具有相同形状的可序列化类,用于形成存储于会话中的对象图,例如非瞬态实例变量。如果这些类的形状必须发生变化,应用程序开发者必须确保所进行的序列化行为是正确的。如果升级过程中应用程序不兼容,必须停止群集以进行完全重新部署。

如果应用程序升级包含对应用程序数据库结构的更改,则这种方法不可能实现。


注意 - 为防范会话故障转移时的版本不匹配风险,请同时升级群集中的所有实例。否则,会话可能故障转移至运行不同版本组件的实例。


请在每个群集上单独执行此任务。对于群集中的实例,群集可作为会话故障转移的安全边界。一个群集中的会话永远都无法故障转移至另一个群集中的会话。因此,版本不匹配的风险可得以避免。

  1. 停止群集
  2. 升级该群集中的组件。
  3. 启动群集

另请参见

版权所有 © 2005, 2011, Oracle 和/或其附属公司。 保留所有权利。 法律声明