20.14.6. HornetQ のメッセージレプリケーション

警告

永続メッセージのみがレプリケートされます。非永続メッセージはフェールオーバー後に維持されません。
ライブサーバーとバックアップサーバーは同じデータストアを共有しないため、ライブサーバーとバックサーバー間のメッセージレプリケーションはネットワークトラフィックを介して実現されます。2 つのサーバーが同じクラスター内にあり、クラスターユーザー名およびパスワードが同じである場合、2 つのサーバー間ですべてのジャーナルがレプリケートされます。ライブサーバーによって受信されるすべての永続データトラフィックはバックアップサーバーへレプリケートされます。
バックアップサーバーがオンラインになると、同期するためにライブサーバーを見つけ、接続します。同期中はバックアップサーバーとして使用できません。同期するデータの量やネットワークの速度によっては、同期化に時間がかかることがあります。バックアップサーバーがオンライン状態になり、使用できるライブサーバーがない場合、クラスターでライブサーバーが使用できるようになるまでバックアップサーバーは待機します。
データをレプリケートするようサーバーを有効にするには、standalone-full-ha.xml ファイルでサーバー間のリンクを定義する必要があります。バックアップサーバーは、同じグループ名を持つライブサーバーのみとレプリケートします。グループ名は、各サーバーの standalone-full-ha.xml ファイルにある backup-group-name パラメーターに定義する必要があります。
ライブサーバーに障害が発生すると、適切に設定され完全に同期されたバックアップサーバーが引き継ぎます。ライブサーバーに障害が発生し、バックアップサーバーがクラスターにある他のサーバーの半分以上に接続できる場合のみバックアップサーバーは有効になります。クラスター内の他のサーバーが半分以上が応答しない場合は一般的なネットワーク障害と判断され、バックアップサーバーはライブサーバーへの接続を再試行するため待機します。
フェールオーバー後に元の状態になるには、ライブサーバーを起動し、バックアップサーバーと完全に同期されるまで待つ必要があります。その後、元のライブサーバーが再度有効な状態になるよう、バックアップサーバーをシャットダウンできます。allow-failback 属性が true に設定されていると、これが自動的に行われます。