假设我有3台web服务器web01,web02,web03,对外的域名都是www.basehome.com.cn,那么我想让用户访问www.basehome.com.cn只是实现单纯的负载均衡而不检测后面是否正常提供服务,传统的做法我们可以做DNS轮询,那么在这里我会使用DNS策略来实现流量均衡,而不是DNS轮询。架构如下:

clip_image001

需求目标:当客户端访问www.basehome.com.cn时,我希望web01承担50%的访问请求,web02和web03各自承担25%的访问请求。

首先创建区域范围:

Add-DnsServerZoneScope -ZoneName "basehome.com.cn" -Name "web01ZoneScope"

Add-DnsServerZoneScope -ZoneName "basehome.com.cn" -Name "web02ZoneScope"

Add-DnsServerZoneScope -ZoneName "basehome.com.cn" -Name "web03ZoneScope"

clip_image002

接下来添加记录到区域范围

Add-DnsServerResourceRecord -ZoneName "basehome.com.cn" -A -Name "www" -IPv4Address "10.0.0.10" -ZoneScope "web01ZoneScope"

Add-DnsServerResourceRecord -ZoneName "basehome.com.cn" -A -Name "www" -IPv4Address "10.0.0.11" -ZoneScope "web02ZoneScope"

Add-DnsServerResourceRecord -ZoneName "basehome.com.cn" -A -Name "www" -IPv4Address "10.0.0.12" -ZoneScope "web03ZoneScope"

clip_image003

最后一步创建DNS策略

Add-DnsServerQueryResolutionPolicy -Name "BalancePolicy" -Action ALLOW -FQDN "eq,www.basehome.com.cn" -ZoneScope "web01ZoneScope,2;web02ZoneScope,1;web03ZoneScope,1" -ZoneName "basehome.com.cn"

clip_image004

OK,这里我就不做验证演示了,因为我没有那么多客户端来验证测试。