netscaler基础原理
使用Citrix和F5做负载均衡
假设有一台服务器实际地址为10.164.1.12:8081,创建了一个dns解析为
a.m.com.cn-------10.164.32.29
要使用负载均衡有两种方法
第一种方法
创建一个ip是10.164.1.12端口是8081的Load Balancing Service
Load Balancing Service
name=a.m.com.cn
ip=10.164.1.12
port=8081
然后创建Load Balancing Virtual Servers(Virtual IP)
Load Balancing Virtual Servers
name=a.m.com.cn
ip=1.1.1.1
port=80
然后在Load Balancing Virtual Server Service Binding中关联之前创建的Load Balancing Service 10.164.1.12
之后创建Content Switching Virtual Servers
Content Switching Virtual Servers
name=a.m.com.cn
ip=10.164.32.29
port=443
在Content Switching Policy Binding中创建policy
并且binding 之前的Load Balancing Virtual Servers(Virtual IP)
第二种方法
创建一个ip是10.164.1.12端口是8081的Load Balancing Service
Load Balancing Service
name=a.m.com.cn
ip=10.164.1.12
port=8081
然后创建Load Balancing Virtual Servers(Virtual IP)
Load Balancing Virtual Servers
name=a.m.com.cn
ip=10.164.32.29
port=443
然后在Load Balancing Virtual Server Service Binding中关联之前创建的Load Balancing Service 10.164.1.12
不用创建Content Switching Virtual Servers
多台设备相同应用
当有多台设备如
a 10.164.1.12:8081
b 10.164.1.13:8081
都是a.m.com.cn的服务器,需要创建2个Load Balancing Service但可以在1个Load Balancing Virtual Servers(Virtual IP)中关联多个Load Balancing Service
多台设备不同应用
当有多台设备如
a 10.164.1.12:8081 a.m.com.cn
b 10.164.1.13:8081 b.m.com.cn
则无法通过在Load Balancing Virtual Servers(Virtual IP)直接创建10.164.32.29来解决
需要创建2个Virtual IP
Load Balancing Virtual Servers
name=a.m.com.cn
ip=1.1.1.1
port=80
Load Balancing Virtual Servers
name=b.m.com.cn
ip=1.1.1.2
port=80
分别关联各自的Load Balancing Service
之后创建Content Switching Virtual Servers
Content Switching Virtual Servers
name=m.com.cn
ip=10.164.32.29
port=443
在Content Switching Policy Binding中创建policy
并且binding 之前的2个或者多个Load Balancing Virtual Servers(Virtual IP)
policy创建2个
name=a
Expression=HTTP.REQ.HOSTNAME.CONTAINS("a.m.com.cn")
name=b
Expression=HTTP.REQ.HOSTNAME.CONTAINS("b.m.com.cn")
多台设备相同服务器不同端口
a 10.164.1.12:8081 a.m.com.cn/a
b 10.164.1.12:8082 a.m.com.cn/b
需要创建2个Load Balancing Service 2个Virtual IP
之后创建Content Switching Virtual Servers
Content Switching Virtual Servers
name=m.com.cn
ip=10.164.32.29
port=443
在Content Switching Policy Binding中创建policy
并且binding 之前的2个或者多个Load Balancing Virtual Servers(Virtual IP)
policy需要增加一个.AND(HTTP.REQ.URL.PATH.CONTAINS("a"))
name=a
Expression=HTTP.REQ.HOSTNAME.CONTAINS("a.m.com.cn").AND(HTTP.REQ.URL.PATH.CONTAINS("a"))
name=b
Expression=HTTP.REQ.HOSTNAME.CONTAINS("a.m.com.cn").AND(HTTP.REQ.URL.PATH.CONTAINS("b"))