クラスタ化された環境では、順次アップグレードにより、サービスとセッションの損失を最小限に抑えてアプリケーションを再配備できます。セッションは、次のような複製可能な成果物です。
HttpSession
SingleSignOn
ServletTimer
DialogFragment
ステートフルセッション Bean
ロードバランサと複数のクラスタを使用して、サービスを停止することなく、GlassFish Server 内のコンポーネントをアップグレードできます。たとえば、コンポーネントとして、JVM マシン、GlassFish Server ソフトウェア、または Web アプリケーションが可能です。
順次アップグレードは、軽度から中度の負荷で行うことができます。この手順の実行には、GlassFish Server インスタンスごとに 10 - 15 分かかります。
アプリケーションはアップグレード間で互換する必要があります。古いバージョンを実行しているインスタンスと、新しいバージョンを実行しているインスタンスがある場合、アプリケーションが移行中に正しく機能する必要があります。古いバージョンと新しいバージョンには、セッションに保存されるオブジェクトグラフを構成する同じ形状のシリアライズ可能なクラス (非移行インスタンス変数など) が必要です。これらのクラスの形状を変更する必要がある場合、アプリケーション開発者はシリアル化の動作が正しく行われるようにする必要があります。アプリケーションがアップグレード間で互換しない場合、完全な再配備のためにクラスタを停止する必要があります。
アプリケーションのアップグレードでアプリケーションデータベーススキーマを変更する場合、この方法は実行できません。
注意 - セッションの処理を継続するときにバージョン不一致のリスクを回避するには、クラスタ内のすべてのインスタンスを同時にアップグレードします。このようにしない場合、セッションは別のバージョンのコンポーネントが実行されているインスタンスで処理が継続されます。
各クラスタで個別にこのタスクを実行します。クラスタは、クラスタ内のインスタンスに対するセッションフェイルオーバーの安全な境界として機能します。1 つのクラスタ内のセッションは、別のクラスタ内のセッションで処理を継続できません。したがって、バージョン不一致のリスクは回避されます。
参照