NetScaler

用例1:为主/从数据库架构配置DataStream

一个常用的部署场景是主/从数据库体系结构,其中主数据库将所有信息复制到从数据库。

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

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

图1。主/从数据库设置的DataStream实体模型

局部的图片

在这个示例场景中,创建了一个服务(Svc_mysql_1)来表示主数据库,并将其绑定到负载平衡虚拟服务器(Lb_vsr_mysql_master)。另外还创建了三个服务(Svc_mysql_2、Svc_mysql_3和Svc_mysql_4)来表示这三个从数据库,它们被绑定到另一个负载平衡虚拟服务器(Lb_vsr_mysql_slave)。

内容交换虚拟服务器(Cs_vsr_mysql_1)配置了相关的策略,将所有的写请求发送到负载均衡虚拟服务器Lb_vsr_mysql_master,将所有的读请求发送到负载均衡虚拟服务器Lb_vsr_mysql_slave。

当请求到达内容切换虚拟服务器时,虚拟服务器将对该请求应用相关的内容切换策略。在评估策略之后,内容切换虚拟服务器将请求路由到适当的负载平衡虚拟服务器,后者将其发送到适当的服务。

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

实体类型 的名字 IP地址 协议 港口 表达式
服务 Svc_mysql_1 10.102.29.5 MYSQL 3306 NA
Svc_mysql_2 10.102.29.6 MYSQL 3306 NA
Svc_mysql_3 10.102.29.7 MYSQL 3306 NA
Svc_mysql_4 10.102.29.8 MYSQL 3306 NA
负载均衡虚拟服务器 Lb_vsr_mysql_master 10.102.29.201 MYSQL 3306 NA
Lb_vsr_mysql_slave 10.102.29.202 MYSQL 3306 NA
内容切换虚拟服务器 Cs_vsr_mysql_1 10.102.29.161 MYSQL 3306 NA
内容切换策略 Cs_select NA NA NA “MYSQL.REQ.QUERY.COMMAND.contains(“选择”)”

表1。实体和策略名称和值

使用命令行接口为主/从数据库设置配置DataStream

在命令提示符处,键入

add service Svc_mysql_1 10.102.29.5 mysql 3306 add service Svc_mysql_2 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_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 . 3306 add service Svc_mysql_3 10.102.29.7 mysql 3306 add service Svc_mysql_3 10.102.29.201csserver 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 ' ' 
用例1:为主/从数据库架构配置DataStream