Anwendungsfall 1: Konfigurieren von DataStream für eine Master/Slave-Datenbankarchitektur

Ein häufig verwendetes Bereitstellungsszenario ist die Master-/Slave-Datenbankarchitektur, bei der die Master-Datenbank alle Informationen in die Slave-Datenbanken repliziert.

Für die Master/Slave-Datenbankarchitektur möchten Sie möglicherweise, dass alle WRITE-Anfragen an die Master-Datenbank und alle READ-Anfragen an die Slave-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 Entity Model für Master/Slave-Datenbank-Setup

lokalisiertes Bild

In diesem Beispielszenario wird ein Dienst (Svc_mysql_1) erstellt, der die Master-Datenbank darstellt und an einen virtuellen Lastausgleichsserver (Lb_vsr_mysql_master) gebunden ist. Drei weitere Dienste (Svc_mysql_2, Svc_mysql_3 und Svc_mysql_4) werden erstellt, um die drei Slave-Datenbanken darzustellen, und sie sind an einen anderen virtuellen Lastausgleichsserver (Lb_vsr_mysql_slave) gebunden.

Ein virtueller Content Switching-Server (Cs_vsr_mysql_1) ist mit zugeordneten Richtlinien konfiguriert, um alle WRITE-Anforderungen an den virtuellen Lastausgleichsserver, Lb_vsr_mysql_master und alle READ-Anforderungen an den virtuellen Lastausgleichsserver Lb_vsr_mysql_slave zu senden.

Wenn eine Anforderung den virtuellen Server für die Inhaltsvermittlung erreicht, wendet der virtuelle Server die zugeordneten Inhaltswechselrichtlinien auf diese Anforderung an. Nach der Auswertung der Richtlinien leitet der Content Switching virtuelle 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 und die auf der Citrix ADC Appliance konfigurierte Richtlinie aufgeführt.

Entitätstyp Name IP-Adresse Protokoll Port Ausdruck
Services Svc_mysql_1 10.102.29.5 MYSQL 3306 Nicht verfügbar
  Svc_mysql_2 10.102.29.6 MYSQL 3306 Nicht verfügbar
  Svc_mysql_3 10.102.29.7 MYSQL 3306 Nicht verfügbar
  Svc_mysql_4 10.102.29.8 MYSQL 3306 Nicht verfügbar
Lastenausgleich virtueller Server lb_vsr_mysql_master 10.102.29.201 MYSQL 3306 Nicht verfügbar
  lb_vsr_mysql_slave 10.102.29.202 MYSQL 3306 Nicht verfügbar
Virtueller Server für Content Switching Cs_vsr_mysql_1 10.102.29.161 MYSQL 3306 Nicht verfügbar
Content Switching-Richtlinie Cs_select Nicht verfügbar Nicht verfügbar Nicht verfügbar “MYSQL.REQ.QUERY.COMMAND.contains(“select”)”

Tabelle 1. Entitäts- und Richtliniennamen und -werte

So konfigurieren Sie DataStream für ein Master/Slave-Datenbank-Setup mit der Befehlszeilenschnittstelle

Geben Sie an der Eingabeaufforderung

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

Anwendungsfall 1: Konfigurieren von DataStream für eine Master/Slave-Datenbankarchitektur