15.6. マルチサイトの耐障害性のあるメッセージングシステムでのクライアントの設定
内部クライアントアプリケーションは、ブローカーサーバーと同じデータセンターにあるマシンで実行されているアプリケーションです。以下の図はこのトポロジーを示しています。
図15.6 マルチサイト、フォールトトレラントメッセージングシステムの内部クライアント
外部クライアントアプリケーションは、ブローカーデータセンター外のマシンで実行されているものです。以下の図はこのトポロジーを示しています。
図15.7 マルチサイト、フォールトトレラントメッセージングシステムの外部クライアント
以下のサブセクションでは、データセンターが停止した場合に別のデータセンターのバックアップブローカーに接続するように内部および外部クライアントアプリケーションを設定する例を示します。
15.6.1. 内部クライアントの設定
データセンターが停止した場合に、内部クライアントアプリケーションがブローカーと共にシャットダウンします。この状況を軽減するには、別のデータセンターで利用可能なクライアントアプリケーションの別のインスタンスが必要です。データセンターが停止した場合に、バックアップクライアントを手動で起動し、手動で開始したバックアップブローカーに接続します。
バックアップクライアントがバックアップブローカーに接続できるようにするには、プライマリーデータセンターのクライアントと同じクライアント接続を設定する必要があります。
例
以下は、マスター / スレーブブローカーグループへの AMQ Core Protocol JMS クライアントの基本的な接続設定です。この例では、host1
および host2
はマスターおよびスレーブブローカーのホストサーバーです。
<ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(“(tcp://host1:port,tcp://host2:port)?ha=true&retryInterval=100&retryIntervalMultiplier=1.0&reconnectAttempts=-1”);
データセンターが停止した場合にバックアップブローカーに接続するようにバックアップクライアントを設定するには、同様の接続設定を使用しますが、バックアップブローカーサーバーのホスト名のみを指定します。この例では、バックアップブローカーサーバーは host3
です。
<ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(“(tcp://host3:port)?ha=true&retryInterval=100&retryIntervalMultiplier=1.0&reconnectAttempts=-1”);
関連情報
- ブローカーネットワーク接続の設定に関する詳細は、2章ネットワーク接続でのアクセプターおよびコネクターの設定 を参照してください。
15.6.2. 外部クライアントの設定
外部ブローカークライアントがデータセンターが停止した場合にメッセージングデータの生成または消費を継続できるようにするには、別のデータセンターのブローカーにフェイルオーバーするようにクライアントを設定する必要があります。マルチサイトのフォールトトレランスシステムの場合、障害が発生したときに手動で起動するバックアップブローカーにクライアントがフェイルオーバーするように設定します。
例
以下は、プライマリーマスターとスレーブグループが利用できない場合に、AMQ Core Protocol JMS および Red Hat build of Apache Qpid JMS クライアントがバックアップブローカーにフェイルオーバーするように設定する例です。この例では、host1
および host2
はプライマリーマスターおよびスレーブブローカーのホストサーバーですが、host3
は、データセンターが停止した場合に手動で起動するバックアップブローカーのホストサーバーです。
AMQ Core Protocol JMS クライアントを設定するには、クライアントが接続しようとするブローカーの順序付けされたリストにバックアップブローカーを含めます。
<ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(“(tcp://host1:port,tcp://host2:port,tcp://host3:port)?ha=true&retryInterval=100&retryIntervalMultiplier=1.0&reconnectAttempts=-1”);
Red Hat build of Apache Qpid JMS クライアントを設定するには、クライアントで設定するフェイルオーバー URI にバックアップブローカーを含めます。
failover:(amqp://host1:port,amqp://host2:port,amqp://host3:port)?jms.clientID=myclient&failover.maxReconnectAttempts=20
関連情報
フェイルオーバーの設定に関する詳細は、以下を行います。
- AMQ Core Protocol JMS クライアントは、フェイルオーバーオプション を参照してください。
- Red Hat build of Apache Qpid JMS クライアントは、フェイルオーバーオプション を参照してください。
- サポートされるその他のクライアントは、Red Hat AMQ Clients の製品ドキュメント のクライアント固有のドキュメントを参照してください。