ADC

Anwendungsfall 1: Konfigurieren von DataStream für eine Primär-/Sekundärdatenbankarchitektur

Ein häufig verwendetes Bereitstellungsszenario ist die primäre und sekundäre Datenbankarchitektur, bei der die Primärdatenbank alle Informationen in die sekundären Datenbanken repliziert

Bei der primären/sekundären Datenbankarchitektur möchten Sie möglicherweise, dass alle WRITE-Anforderungen an die Primärdatenbank und alle READ-Anforderungen an die sekundären Datenbanken gesendet werden.

Die folgende Abbildung zeigt die Entitäten und die Werte der Parameter, die Sie auf der Appliance konfigurieren müssen.

Abbildung 1. DataStream-Entitätsmodell für Primär-/Sekundärdatenbank-Setup

Einrichtung der primären/sekundären Datenbank

In diesem Beispielszenario wird ein Dienst (SVC_MySql_1) erstellt, um die Primärdatenbank darzustellen, und ist an einen virtuellen Lastausgleichsserver (LB_VSR_MySql_Primary) gebunden. Drei weitere Dienste (SVC_MySql_2, SVC_MySql_3 und SVC_MySql_4) werden erstellt, um die drei sekundären Datenbanken darzustellen, und sie sind an einen anderen virtuellen Lastausgleichsserver (LB_VSR_MySql_Secondary) gebunden.

Ein virtueller Content Switching-Server (CS_VSR_MySql_1) ist mit zugehörigen Richtlinien konfiguriert, um alle WRITE-Anforderungen an den virtuellen Lastausgleichsserver zu senden, lb_vsr_mysql_Primary. Alle READ-Anforderungen werden an den virtuellen Lastausgleichsserver LB_VSR_MySql_Secondary gesendet.

Wenn eine Anforderung den virtuellen Content Switching-Server erreicht, wendet der virtuelle Server die zugeordneten Content Switching-Richtlinien auf diese Anforderung an. Nach der Auswertung der Richtlinien leitet der virtuelle Content Switching-Server die Anforderung an den entsprechenden virtuellen Lastausgleichsserver weiter, der sie an den entsprechenden Dienst sendet.

In der folgenden Tabelle sind die Namen und Werte der Entitäten sowie die auf der Citrix ADC Appliance konfigurierte Richtlinie aufgeführt.

Typ der Entität Name IP-Adresse Protokoll Port Ausdruck
Services Svc_mysql_1 198.51.100.5 MYSQL 3306 Nicht zutreffend
  Svc_mysql_2 198.51.100.6 MYSQL 3306 Nicht zutreffend
  Svc_mysql_3 198.51.100.7 MYSQL 3306 Nicht zutreffend
  Svc_mysql_4 198.51.100.8 MYSQL 3306 Nicht zutreffend
Überwachung lb_mon1 Nicht zutreffend MYSQL-ECV Nicht zutreffend mysql.res.atleast_rows_count(1)
Virtuelle Lastenausgleichsserver Lb_vsr_mysql_primary 198.51.100.201 MYSQL 3306 Nicht zutreffend
  Lb_vsr_mysql_secondary 198.51.100.202 MYSQL 3306 Nicht zutreffend
Virtuelle Content Switching-Server Cs_vsr_mysql_1 198.51.100.161 MYSQL 3306 Nicht zutreffend
Content Switching-Richtlinie Cs_select Nicht zutreffend Nicht zutreffend Nicht zutreffend MYSQL.REQ.QUERY.COMMAND.contains("select")

Tabelle 1. Namen und Werte von Entitäten und Richtlinien

So konfigurieren Sie DataStream für ein Primär-/Sekundärdatenbank-Setup mit der Befehlszeilenschnittstelle

Geben Sie an der Eingabeaufforderung

add db user user1 -password user1

add service Svc_mysql_1 198.51.100.5 mysql 3306

add service Svc_mysql_2 198.51.100.6 mysql 3306

add service Svc_mysql_3 198.51.100.7 mysql 3306

add service Svc_mysql_4 198.51.100.8 mysql 3306

add lb monitor lb_mon1 MYSQL-ECV -sqlQuery "select * from table1;" -evalrule "mysql.res.atleast_rows_count(1)" -database "NS" -userName  "user1"

add lb vserver Lb_vsr_mysql_primary mysql 198.51.100.201 3306

add lb vserver Lb_vsr_mysql_secondary mysql 198.51.100.202 3306

bind lb vserver Lb_vsr_mysql_primary svc_mysql_1

bind lb vserver Lb_vsr_mysql_secondary svc_mysql_2

bind lb vserver Lb_vsr_mysql_secondary svc_mysql_3

bind lb vserver Lb_vsr_mysql_secondary svc_mysql_4

add cs vserver Cs_vsr_mysql_1 mysql 198.51.100.161 3306

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

bind cs vserver Cs_vsr_mysql_1 Lb_vsr_mysql_primary

bind cs vserver Cs_vsr_mysql_1 Lb_vsr_mysql_secondary –policy Cs_select –priority 10

bind service Svc_mysql_1 -monitorName lb_mon1

bind service Svc_mysql_2 -monitorName lb_mon1

bind service Svc_mysql_3 -monitorName lb_mon1

bind service Svc_mysql_4 -monitorName lb_mon1
<!--NeedCopy-->
Anwendungsfall 1: Konfigurieren von DataStream für eine Primär-/Sekundärdatenbankarchitektur