Citrix ADC

ユースケース 1: マスター/スレーブデータベースアーキテクチャ用の DataStream の構成

一般的に使用されるデプロイメントシナリオは、マスター/スレーブデータベースアーキテクチャです。マスターデータベースは、すべての情報をスレーブデータベースに複製します。

マスター/スレーブデータベースアーキテクチャでは、すべてのWRITE要求をマスターデータベースに送信し、すべてのREAD要求をスレーブデータベースに送信することができます。

次の図は、アプライアンスで設定する必要のあるパラメーターのエンティティと値を示しています。

図1:マスター/スレーブデータベースセットアップのためのDataStreamエンティティモデル

ローカライズされた画像

この例では、master データベースを表すサービス (Svc_mysql_1) が作成され、負荷分散仮想サーバー (Lb_vsr_mysql_master) にバインドされます。3 つのスレーブデータベースを表すために、さらに 3 つのサービス (Svc_mysql_2、Svc_mysql_3、および Svc_mysql_4) が作成され、別の負荷分散仮想サーバー (Lb_vsr_mysql_slave) にバインドされます。

コンテンツスイッチング仮想サーバー (Cs_vsr_mysql_1) は、すべてのWRITE 要求を負荷分散仮想サーバー Lb_vsr_mysql_master、およびすべての READ 要求を負荷分散仮想サーバー Lb_vsr_mysql_slave に送信する関連付けられたポリシーで構成されます。

要求がコンテンツスイッチ仮想サーバーに到達すると、仮想サーバーはその要求に対して関連するコンテンツスイッチポリシーを適用します。ポリシーを評価した後、コンテンツスイッチ仮想サーバーは要求を適切な負荷分散仮想サーバーにルーティングし、適切なサービスに送信します。

次の表に、Citrix ADCアプライアンス上で構成されているエンティティの名前と値、およびポリシーのリストを示します。

エンティティの種類 名前 IPアドレス プロトコル ポート
サービス Svc_mysql_1 10.102.29.5 MYSQL 3306 -
  Svc_mysql_2 10.102.29.6 MYSQL 3306 -
  Svc_mysql_3 10.102.29.7 MYSQL 3306 -
  Svc_mysql_4 10.102.29.8 MYSQL 3306 -
仮想サーバの負荷分散 Lb_vsr_mysql_master 10.102.29.201 MYSQL 3306 -
  Lb_vsr_mysql_slave 10.102.29.202 MYSQL 3306 -
コンテンツスイッチ仮想サーバー Cs_vsr_mysql_1 29.161 MYSQL 3306 -
コンテンツスイッチングポリシー Cs_select - - - “MYSQL.REQ.QUERY.COMMAND.contains(“select”)”

表1. エンティティとポリシーの名前と値

コマンドラインインターフェイスを使用してマスター/スレーブデータベース設定の DataStream を設定するには

コマンドプロンプトで、次のように入力します。

add service Svc_mysql_1 10.102.29.5 mysql 3306

add service Svc_mysql_2 10.102.29.6 mysql 3306

add service Svc_mysql_3 10.102.29.7 mysql 3306

add service Svc_mysql_4 10.102.29.8 mysql 3306

add lb vserver Lb_vsr_mysql_master mysql 10.102.29.201 3306

add lb vserver Lb_vsr_mysql_slave mysql 10.102.29.202 3306

bind lb vserver Lb_vsr_mysql_master svc_mysql_1

bind lb vserver Lb_vsr_mysql_slave svc_mysql_2

bind lb vserver Lb_vsr_mysql_slave svc_mysql_3

bind lb vserver Lb_vsr_mysql_slave svc_mysql_4

add cs vserver Cs_vsr_mysql_1 mysql 10.102.29.161 3306

add cs policy Cs_select –rule "MYSQL.REQ.QUERY.COMMAND.contains("select")"

bind cs vserver Cs_vsr_mysql_1 Lb_vsr_mysql_master

bind cs vserver Cs_vsr_mysql_1 Lb_vsr_mysql_slave –policy Cs_select –priority 10

ユースケース 1: マスター/スレーブデータベースアーキテクチャ用の DataStream の構成