Citrix ADC

Caso de uso 1: Configurar DataStream para una arquitectura de base de datos primaria/secundaria

Un caso de implementación de uso común es la arquitectura de base de datos primaria/secundaria donde la base de datos principal replica toda la información en las bases de datos secundarias.

Para la arquitectura de base de datos primaria/secundaria, es posible que desee que todas las solicitudes WRITE se envíen a la base de datos principal y todas las solicitudes READ a las bases de datos secundarias.

En la siguiente ilustración se muestran las entidades y los valores de los parámetros que debe configurar en el dispositivo.

Ilustración 1. Modelo de entidad DataStream para la configuración de base de datos primaria/secundaria

Configuración de base de datos primaria/secundaria

En este caso de ejemplo, se crea un servicio (SVC_MySQL_1) para representar la base de datos principal y está enlazado a un servidor virtual de equilibrio de carga (LB_VSR_MySQL_Primary). Se crean otros tres servicios (SVC_MySQL_2, SVC_MySQL_3 y SVC_MySQL_4) para representar las tres bases de datos secundarias y están enlazadas a otro servidor virtual de equilibrio de carga (LB_VSR_MySQL_Secondary).

Un servidor virtual de cambio de contenido (CS_VSR_MySQL_1) está configurado con directivas asociadas para enviar todas las solicitudes WRITE al servidor virtual de equilibrio de carga, lb_vsr_MySQL_Primary. Todas las solicitudes READ se envían al servidor virtual de equilibrio de carga, LB_VSR_MySQL_Secondary.

Cuando una solicitud llega al servidor virtual de conmutación de contenido, el servidor virtual aplica las directivas de conmutación de contenido asociadas a esa solicitud. Después de evaluar las directivas, el servidor virtual de cambio de contenido enruta la solicitud al servidor virtual de equilibrio de carga adecuado, que la envía al servicio adecuado.

En la tabla siguiente se enumeran los nombres y valores de las entidades y la directiva configurada en el dispositivo Citrix ADC.

Tipo de entidad Nombre Dirección IP Protocolo Port Expresión
Servicios Svc_mysql_1 198.51.100.5 MYSQL 3306 NA
  Svc_mysql_2 198.51.100,6 MYSQL 3306 NA
  Svc_mysql_3 198.51.100,7 MYSQL 3306 NA
  Svc_mysql_4 198.51.100,8 MYSQL 3306 NA
Servidores virtuales de equilibrio de carga LB_VSR_MySQL_Primary 198.51.100.201 MYSQL 3306 NA
  LB_VSR_MySQL_Secondary 198.51.100.202 MYSQL 3306 NA
Servidor virtual de conmutación de contenido Cs_vsr_mysql_1 198.51.100.161 MYSQL 3306 NA
Directiva de cambio de contenido CS_Select NA NA NA MYSQL.REQ.QUERY.COMMAND.contains("select")

Cuadro 1 Nombres y valores de entidades y directivas

Para configurar DataStream para una configuración de base de datos primaria/secundaria mediante la interfaz de línea de comandos

En el símbolo del sistema, escriba:

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 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
<!--NeedCopy-->
Caso de uso 1: Configurar DataStream para una arquitectura de base de datos primaria/secundaria