15.2. 高可用性を実現するためのリーダー/フォロワーブローカーの設定
リーダー/フォロワー構成は、クラスター化されていないブローカーインスタンスに高可用性を提供するものです。同じメッセージストア (JDBC データベースまたは共有ボリューム上のジャーナル) にメッセージを永続化するように、各インスタンスを設定する必要があります。
リーダー/フォロワー構成では、両方のブローカーに同じ高可用性設定を指定します。
15.2.1. 共有 Java Database Connectivity (JDBC) データベースを使用するリーダー/フォロワーブローカーの設定 リンクのコピーリンクがクリップボードにコピーされました!
共有 JDBC データベースにメッセージを永続化するリーダー/フォロワーブローカーインスタンスを設定できます。
手順
- 2 つのブローカーインスタンスを作成します。詳細は、AMQ Broker スタートガイド の ブローカーインスタンスの作成 を参照してください。
-
最初のブローカーインスタンスの
<broker_instance_dir>/etc/broker.xml設定ファイルを開きます。 -
適切な JDBC クライアントライブラリーをブローカーランタイムに追加します。これを行うには、データベースの
.JARファイルをbroker_instance_dir>/libディレクトリーに追加します。 JDBC データベースを使用するように最初のブローカーインスタンスを設定します。
core要素内に、shared-store要素を含むha-policy要素を追加します。shared-store要素内で、primaryの値を指定します。<configuration> <core> ... <ha-policy> <shared-store> <primary/> </shared-store> </ha-policy> ... </core> </configuration注記両方のブローカーインスタンスの設定ファイルに対して、
shared-store要素内でprimaryの値を指定してください。core要素内に、database-store要素を含むstore要素を追加します。<configuration> <core> ... <store> <database-store> </database-store> </store> ... </core> </configuration>database-store要素内に JDBC 永続化の設定パラメーターを追加し、値を指定します。以下に例を示します。<configuration> <core> ... <store> <database-store> <jdbc-driver-class-name>oracle.jdbc.driver.OracleDriver</jdbc-driver-class-name> <jdbc-connection-url>jdbc:oracle:data/oracle/database-store;create=true</jdbc-connection-url> <bindings-table-name>BINDINGS_TABLE</bindings-table-name> <message-table-name>MESSAGE_TABLE</message-table-name> <page-store-table-name>MESSAGE_TABLE</page-store-table-name> <large-message-table-name>LARGE_MESSAGES_TABLE</large-message-table-name> <node-manager-store-table-name>NODE_MANAGER_TABLE</node-manager-store-table-name> </database-store> </store> ... <core> </configuration>JDBC の設定パラメーターの詳細は、「JDBC 永続性の設定」 を参照してください。
-
2 番目のブローカーインスタンスの
<broker_instance_dir>/etc/broker.xml設定ファイルを開きます。 - ステップ 4 を繰り返して、同じ HA ポリシーと JDBC データベースを使用するように 2 番目のブローカーインスタンスを設定します。