ADC

用例 1:为主/辅助数据库体系结构配置 DataStream

常用的部署方案是主/辅助数据库体系结构,其中主数据库将所有信息复制到辅助数据库。

对于主/辅助数据库体系结构,您可能希望将所有 WRITE 请求发送到主数据库,将所有 READ 请求发送到辅助数据库。

下图显示了您需要在设备上配置的实体和参数值。

图 1. 用于主/辅助数据库设置的 DataStream 实体模型

主/辅助数据库设置

在此示例场景中,将创建一个服务 (svc_mySQL_1) 来表示主数据库,并绑定到负载平衡虚拟服务器 (lb_vsr_mySQL_Primary)。另外创建了三个服务(svc_mySQL_2、svc_mySQL_3和svc_mySQL_4)来表示这三个辅助数据库,它们绑定到另一个负载平衡虚拟服务器(lb_vsr_mySQL_Seconduard)。

内容交换虚拟服务器 (cs_vsr_mySQL_1) 配置了关联的策略,以将所有写入请求发送到负载平衡虚拟服务器 lb_vsr_mySQL_Primary。所有读取请求都将发送到负载平衡虚拟服务器 lb_vsr_mySQL_Seconduard。

请求到达内容交换虚拟服务器时,该虚拟服务器将关联的内容交换策略应用于该请求。评估策略后,内容交换虚拟服务器会将请求路由到相应的负载平衡虚拟服务器,然后由负载平衡虚拟服务器将请求发送到相应的服务。

下表列出了实体的名称和值以及在 Citrix ADC 设备上配置的策略。

实体类型 名称 IP 地址 协议 端口 表达式
服务 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. 实体和策略名称和值

使用命令行界面为主/辅助数据库设置配置 DataStream

在命令提示符下键入

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-->
用例 1:为主/辅助数据库体系结构配置 DataStream