一般的に使用される導入シナリオは、プライマリデータベースがすべての情報をセカンダリデータベースにレプリケートするプライマリ/セカンダリデータベースアーキテクチャです。
プライマリ/セカンダリデータベースアーキテクチャでは、すべての WRITE 要求をプライマリデータベースに送信し、すべての READ 要求をセカンダリデータベースに送信できます。
次の図は、アプライアンスに設定する必要のあるエンティティとパラメーターの値を示しています。
図1:プライマリ/セカンダリデータベースセットアップ用の DataStream エンティティモデル
このシナリオ例では、プライマリデータベースを表すサービス (SVC_MySQL_1) が作成され、負荷分散仮想サーバー (lb_vsr_mysql_Primary) にバインドされます。3 つのセカンダリデータベースを表すためにさらに 3 つのサービス (SVC_MySQL_2、svc_mysql_3、および svc_mysql_4) が作成され、それらは別の負荷分散仮想サーバー (lb_vsr_mysql_Secondary) にバインドされます。
コンテンツスイッチ仮想サーバー (cs_vsr_MySQL_1) は、すべての WRITE 要求を負荷分散仮想サーバー lb_vsr_mysql_Primary に送信するように、関連付けられたポリシーを使用して構成されます。すべての READ 要求は、負荷分散仮想サーバー lb_vsr_mysql_secondary に送信されます。
要求がコンテンツスイッチ仮想サーバーに到達すると、仮想サーバーはその要求に対して関連するコンテンツスイッチポリシーを適用します。ポリシーを評価すると、コンテンツスイッチ仮想サーバーは要求を適切な負荷分散仮想サーバーにルーティングし、要求は適切なサービスに送信されます。
次の表に、NetScaler ADCアプライアンスで構成されているエンティティとポリシーの名前と値を示します。
| エンティティの種類 |
名前 |
IPアドレス |
プロトコル |
ポート |
式 |
| Services |
svc_mysql_1 |
198.51.100.5 |
MYSQL |
3306 |
- |
|
svc_mysql_2 |
198.51.100.6 |
MYSQL |
3306 |
- |
|
svc_mysql_3 |
198.51.100.7 |
MYSQL |
3306 |
- |
|
svc_mysql_4 |
198.51.100.8 |
MYSQL |
3306 |
- |
| 監視 |
lb_mon1 |
- |
MYSQL-ECV |
- |
mysql.res.atleast_rows_count(1) |
| 仮想サーバの負荷分散 |
lb_vsr_mysql_primary |
198.51.100.201 |
MYSQL |
3306 |
- |
|
lb_vsr_mysql_secondary |
198.51.100.202 |
MYSQL |
3306 |
- |
| コンテンツスイッチ仮想サーバー |
cs_vsr_mysql_1 |
198.51.100.161 |
MYSQL |
3306 |
- |
| コンテンツスイッチポリシー |
Cs_select |
- |
- |
- |
MYSQL.REQ.QUERY.COMMAND.contains("select") |
表1. エンティティとポリシーの名前と値