什么是轮询DNS?
轮询(round robin)DNS是一种负载平衡技术,其中的平衡是通过一种称为权威名称服务器的DNS服务器完成的,而不是使用专用的负载平衡硬件。当网站或服务的内容托管在多个冗余Web服务器上时,可以使用轮询DNS。当查询DNS权威名称服务器的IP地址时,服务器每次轮流发送一个不同的地址。当冗余Web服务器在地理位置上分离时,这特别有用,这使得传统的负载平衡变得困难。轮询因易于实现而闻名,但它也有很多缺点。
启用轮询的DNS服务器将具有多个不同的A记录记录具有相同的域名但具有不同的IP地址。每次查询DNS服务器时,都会将其最近响应的IP地址发送到队列的后面,并轮询运行。轮询DNS服务器中的IP地址就像击球阵容中的棒球运动员一样:每个人都有一个转弯,然后移到该行的后面。
轮询DNS的缺点是什么?
由于DNS缓存和客户端缓存,轮循方法并不总是提供均匀分布的负载平衡。如果用户对特定网站的流量特别大的递归解析器进行DNS查询 ,则该解析器将缓存该网站的IP,从而可能向该IP发送大量流量。
另一个缺点是轮询可靠性不能依赖于站点可靠性。如果其中一台服务器出现故障,DNS服务器仍将以轮循方式保留该服务器的IP。因此,如果有6台服务器并且其中一台已脱机,那么将有六分之一的用户被拒绝服务。此外,轮询DNS不会考虑服务器负载,事务处理时间,地理距离以及可以配置传统负载平衡的其他因素。
一些高级轮询服务具有克服一些缺点的方法,例如能够检测无响应的服务器并将其从轮询轮换中删除,但是无法解决缓存问题。许多DNS提供商支持轮询DNS。