什么是负载均衡?
每次域名解析请求时,DNS 服务器都会根据对应的解析记录返回对应 IP。但如果在 DNS 服务器中配置了相同主机记录、记录类型、线路类型的 A 记录时,DNS 服务器则会根据负载均衡算法计算出其中一个 IP 地址并返回。如下图所示:
主机记录 | 记录类型 | 线路类型 | 记录值 | TTL |
www | A | 默认 | 200.202.101.1 | 600 |
www | A | 默认 | 200.202.101.2 | 600 |
www | A | 默认 | 200.202.101.3 | 600 |
www | A | 默认 | 200.202.101.4 | 600 |
这样在 A 记录中配置多个服务器 IP 就可以构成一个集群,也可称之为负载均衡。
说明:
DNSPod DNS 解析负载均衡使用随机算法进行返回 IP。
DNSPod 支持 A 记录与 CNAME 记录负载均衡,CNAME 记录负载均衡与 A 记录同理。
负载均衡受 Local DNS 缓存的限制,无法保证完全负载均衡。
负载均衡有什么作用?
一般情况下解析负载均衡用于以下场景:
解决单台服务器并发压力,提高应用请求处理性能。
将负载均衡的工作交给 DNS,省去了网站管理维护负载均衡服务器的麻烦。
使用负载均衡能解决什么问题?
当面对大量用户访问、高并发请求,海量数据,可以使用高性能的服务器来解决,当单机性能扩展能力达到极限时,将无法通过提高服务器性能来解决。这时需要考虑将业务拆分和分布式部署,来解决大型网站访问量大,并发量高,海量数据的问题。而解析负载均衡则可以帮助您将解析请求分发在不同的服务器上,降低单台请求处理量。
购买的负载均衡数量代表什么?
指在 DNSPod 控制台添加的负载均衡最高记录条数,同主机、同线路、同记录类型时,可支持的最高数量。
如何测试负载均衡数量是否生效?
1. 查看配置了负载均衡的域名和对应的NS域名, 例如本次测试使用了www.shicdn.com域名,对应的NS为ns3.dnsv5.com
2. 使用如下脚本:
for i in
seq 1000
;do dig www.shicdn.com @ns3.dnsv5.com +short ;done | sort |uniq -c
本次脚本中测试1000次,得到测试结果,测试次数越多,越接近配置:
业务流量均衡比例与配置不一致?
权威 DNS 可以保证在请求量足够大的时候,直接由权威应答的比列接近设置的权重,但因为运营商 DNS(Local DNS)有缓存,且客户业务的地域分布和请求时间有侧重,每个 Local DNS 服务的客户数量是有差别的,所以纯靠 DNS 是无法做到完全100%负载均衡生效。
为什么配置了 30 条 A 记录,但是权威服务器只返回了 20 条 A 记录?
由于 UDP 协议传输的 DNS 消息最大长度需要限制在 512 字节(不包括 IP 头部、UDP 头部),因此 1 个 DNS 响应能够返回的资源记录数量存在限制:AAAA 记录只返回 8 条,CNAME 记录返回 1 条,A 记录及其他记录最多返回 20 条。当您设置的负载均衡数超过此限制时,权威服务器将随机返回记录值。