传统的负载均衡技术通常需要专门的硬件或软件,但DNS轮询解析是一种负载分配、负载平衡或容错技术,通过管理域名系统(DNS)对来自客户计算机的地址请求的响应,按照适当的统计模型,提供多个冗余的互联网协议服务主机,将流量分散到多个服务器上。例如,Web服务器、FTP服务器。
一、DNS轮询解析的原理
在其最简单的实现中,轮回DNS的工作方式是,不仅用一个潜在的IP地址来响应DNS请求,而且用一个潜在的IP地址列表来响应承载相同服务的几个服务器。列表中的IP地址被返回的顺序是轮回这一术语的基础。每次DNS响应,列表中的IP地址顺序都会被改变。传统上,IP客户最初尝试与DNS查询返回的xxx个地址连接,因此在不同的连接尝试中,客户将从不同的供应商那里获得服务,从而在服务器之间分配整体负载。
二、DNS轮询作用于什么地方?
DNS轮询经常被用来在一些网络服务器之间进行负载平衡。例如,一家公司有一个域名和三个相同的网站副本,分别驻留在三个服务器上,有三个IP地址。DNS服务器将被设置为使该域名有多个A记录,每个IP地址一个。当一个用户访问主页时,它将被发送到xxx个IP地址。第二个访问主页的用户将被发送到下一个IP地址,而第三个用户将被发送到第三个IP地址。在每一种情况下,一旦IP地址被送出,它就会被送到列表的最后。因此,第四个用户将被发送到xxx个IP地址,以此类推。
在少数情况下,一个轮回的DNS名称被称为转子,因为它在备选的A记录中轮流使用。虽然容易实现,但轮询DNS也有一些缺点,如DNS层次结构本身的记录缓存,以及客户端地址缓存和重用所产生的缺点,它们的组合可能难以管理。不应仅仅依靠DNS轮询来获得服务的可用性。如果列表中某个地址的服务出现故障,DNS将继续发放该地址,客户仍将试图到达无法运行的服务。
三、DNS轮询解析有什么限制吗?
DNS轮询解析存在一些限制和潜在的问题:
不总是提供均匀分布的负载平衡:由于DNS缓存和客户端缓存的存在,轮询方法并不总是能够提供均匀分布的负载平衡。如果用户对特定网站的流量特别大,那么该解析器可能会缓存该网站的IP,从而可能向该IP发送大量流量。
可靠性问题:如果其中一台服务器出现故障,DNS服务器仍将以轮循方式保留该服务器的IP。因此,如果有6台服务器并且其中一台已脱机,那么将有六分之一的用户被拒绝服务。
不考虑服务器负载、事务处理时间、地理距离等因素:轮询DNS不会考虑服务器负载、事务处理时间、地理距离以及可以配置传统负载平衡的其他因素。
无法解决缓存问题:一些高级轮询服务具有克服一些缺点的方法,例如能够检测无响应的服务器并将其从轮询轮换中删除,但是无法解决缓存问题。
因此,虽然轮询DNS是一种简单有效的负载平衡方法,但它也存在一些限制和潜在的问题,需要根据实际情况进行选择和使用。
标签:缓存,轮询,DNS,IP地址,服务器,解析,负载平衡 From: https://blog.51cto.com/u_15507630/9505348