アプリケーションサーバーを水平方向に拡張する場合は、セッションアフィニティーを有効にするべきですか。
はい。
アプリケーションサーバーを水平方向に拡張する場合は、セッション持続性を有効にするべきですか。
ごく一部の状況ではセッション持続性の有無によって透過的なフェイルオーバーができるかどうかが決まりますが、こうした状況での透過的なフェイルオーバーをビジネス要件で重視している場合を除いて、セッション持続性の使用はお勧めしません。セッション持続性によってパフォーマンスのオーバーヘッドが発生するため、ビジネス要件で透過的なフェイルオーバーが絶対に必要な場合を除いて、セッション持続性を無効のままにしてください。
「障害のシナリオについて」で説明している障害のシナリオでは、8 つのシナリオのうち 6 つは、セッション持続性が有効であるかどうかにかかわらず、エンドユーザーの体験や必要な回復アクションに違いはありませんでした。シナリオ 1 と 4 のみで、セッション持続性が有効なシナリオとセッション持続性が無効なシナリオで違いがありました。
これらの 2 つのシナリオでは、セッション持続性によりフェイルオーバーの透過性が提供されますが、これによりパフォーマンスに影響が出ます。セッションオブジェクトのサイズ、セッション持続性に使用されているリポジトリ、および特定のアプリケーションサーバーのセッション管理コードの最適化に基づいて、パフォーマンスのオーバーヘッドは 10 % から 20% の範囲またはそれ以上になります。
水平方向に拡張する場合、クラスタ内に複数のアプリケーションサーバーインスタンスを設定するべきですか。
セッション持続性が必要でなければ、複数のアプリケーションサーバーインスタンスは必ずしも必要ではありません。セッション持続性が有効でないフェイルオーバーは、すべてのアプリケーションサーバーノードが 1 つのクラスタにない場合でも設定できます。