高可用性とは、1 つ以上のサーバーに障害が発生した後もシステムが機能し続けることです。
フェイルオーバーは高可用性の機能の 1 つで、サーバーの障害発生時にクライアント接続を別のサーバーに移行して、クライアントアプリケーションの操作が続行されるようにします。
注記
永続メッセージデータのみがフェイルオーバー後も維持されます。非永続メッセージデータはフェイルオーバー後に利用できません。
${build.shortName} メッセージングは、サーバー同士がライブとバックアップのペアとしてリンクし、各サーバーがバックアップを持つようにします。ライブサーバーはクライアントからメッセージを受信し、バックアップサーバーはフェイルオーバーが発生するまで操作しません。1 つのバックアップサーバーは 1 つのライブサーバーのみが所有でき、ライブサーバーの作業を引き継ぐためにパッシブモードで待機します。
ライブサーバーがクラッシュしたり、適切なモードで停止された場合、パッシブモードの状態のバックアップサーバーは新しいライブサーバーとなります。新しいライブサーバーが自動フェイルバックを許可するよう設定されている場合、停止した以前のライブサーバーの回復を検出して自動的に停止するため、以前のライブサーバーはメッセージの受信を再開することができます。
注記
ライブ / バックアップサーバーのペアを 1 つのみデプロイする場合、バックアップインスタンスはアクティブにメッセージを処理しないため、ペアの前でロードバランサーを効果的に使用できません。さらに、JNDI や Undertow web サーバーなどのサービスもバックアップサーバーではアクティブになりません。そのため、バックアップメッセージングサーバーとして使用される ${build.shortName} のインスタンスへ JEE アプリケーションをデプロイすることはサポートされません。
${build.shortName} メッセージングはサーバーのバックアップで レプリケーション と 共有ストア の 2 つのストラテジーをサポートします。 各ストラテジーはマスターまたはスレーブになります。メッセージングサーバーごとに 1 つの HA ポリシーオプションのみを設定できることに注意してください。
高可用性や、ストラテジーおよびポリシーの種類に関する詳細は、「High Availability」を参照してください。