ADC

Cas d’utilisation 1 : Configuration de DataStream pour une architecture de base de données primaire/secondaire

Un scénario de déploiement couramment utilisé est l’architecture de base de données principale/secondaire dans laquelle la base de données principale réplique toutes les informations vers les bases de données secondaires.

Pour l’architecture de base de données principale/secondaire, vous pouvez souhaiter que toutes les demandes WRITE soient envoyées à la base de données principale et toutes les demandes READ aux bases de données secondaires.

La figure suivante montre les entités et les valeurs des paramètres que vous devez configurer sur l’appliance.

Figure 1. Modèle d’entité DataStream pour la configuration de la base de données principale/secondaire

Configuration des bases de données principale/secondaire

Dans cet exemple de scénario, un service (SVC_MySQL_1) est créé pour représenter la base de données principale et est lié à un serveur virtuel d’équilibrage de charge (LB_VSR_MySQL_Primary). Trois autres services (SVC_MySQL_2, SVC_MySQL_3 et SVC_MySQL_4) sont créés pour représenter les trois bases de données secondaires, et ils sont liés à un autre serveur virtuel d’équilibrage de charge (LB_vsr_MySQL_Secondary).

Un serveur virtuel de commutation de contenu (CS_VSR_MySQL_1) est configuré avec des stratégies associées pour envoyer toutes les demandes d’écriture au serveur virtuel d’équilibrage de charge, LB_VSR_MySQL_Primary. Toutes les demandes READ sont envoyées au serveur virtuel d’équilibrage de charge, LB_VSR_MySQL_Secondary.

Lorsqu’une demande atteint le serveur virtuel de commutation de contenu, le serveur virtuel applique les stratégies de commutation de contenu associées à cette demande. Après avoir évalué les stratégies, le serveur virtuel de commutation de contenu achemine la demande vers le serveur virtuel d’équilibrage de charge approprié, qui l’envoie au service approprié.

Le tableau suivant répertorie les noms et les valeurs des entités et de la stratégie configurées sur l’appliance Citrix ADC.

Type d’entité Nom IP Address Protocole Port Expression
Services Svc_mysql_1 198.51.100.5 MYSQL 3306 SO
  Svc_mysql_2 198.51.100.6 MYSQL 3306 SO
  Svc_mysql_3 198.51.100.7 MYSQL 3306 SO
  Svc_mysql_4 198.51.100.8 MYSQL 3306 SO
Surveillance lb_mon1 SO MYSQL-ECV SO mysql.res.atleast_rows_count(1)
Équilibrage de charge des serveurs virtuels Lb_vsr_mysql_primary 198.51.100.201 MYSQL 3306 SO
  Lb_vsr_mysql_secondary 198.51.100.202 MYSQL 3306 SO
Serveur virtuel de commutation de contenu Cs_vsr_mysql_1 198.51.100.161 MYSQL 3306 SO
Politique de commutation de contenu Cs_select SO SO SO MYSQL.REQ.QUERY.COMMAND.contains("select")

Tableau 1. Noms et valeurs des entités et des politiques

Pour configurer DataStream pour une configuration de base de données principale/secondaire à l’aide de l’interface de ligne de commande

À l’invite de commandes, tapez

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-->
Cas d’utilisation 1 : Configuration de DataStream pour une architecture de base de données primaire/secondaire