2012-04-21 80 views
46

例如,当我们连接到www.abc.com时,首先我们尝试连接到1.1.1.1。如果第一次尝试失败,那么我们尝试2.2.2.2。可能吗?我们能为一个域名注册多个备份IP地址吗?一个域名可能有多个对应的IP地址吗?

+0

它不会_exactly_以这种方式工作(使用循环法)。 如果多次查询主机,它会在每次执行查询时返回不同的IP-s,而不仅仅是主机发生故障时。 – karatedog 2012-04-21 10:29:44

+0

@karatedog,我假设套接字连接将尝试连接到下一个IP,如果它不能连接到第一个IP地址 – 2012-10-19 18:28:11

+2

@AkashKava:单个_connection_有多个内部步骤。简化:应用程序查询DNS并获取IP地址。然后它连接到该IP地址。如果该连接失败,则应用程序将不会返回到第一步并再次查询DNS,只有在明确编码的情况下才能执行此操作。而多次查询DNS服务器并不一定会给你不同的IP地址。所以简而言之,股票DNS不能用于负载平衡的目的。 – karatedog 2015-09-12 08:52:16

回答

31

这是循环法DNS。这是一个非常简单的负载均衡解决方案。通常,DNS服务器为每个传入的DNS请求轮换/洗牌DNS记录。不幸的是,它不是真正的故障切换解决方案。如果其中一台服务器出现故障,某些访问者仍将被引导至此故障服务器。

+0

你有处理故障转移的指针吗? – 2014-02-26 09:31:21

+3

这取决于您对恢复时间的期望。如果提供的服务可能关闭几秒或几分钟,则可以相应地更新DNS(例如,取出发生故障的系统的IP)。如果这是不可接受的,DNS不能帮助你,你必须使用负载均衡器和高可用性网络结构。 – 2014-04-02 07:46:02

+0

的确,谢谢。 – 2014-04-02 08:22:18

24

你可以做到。这就是大家伙所做的。

首先查询:

» host google.com 
google.com has address 74.125.232.230 
google.com has address 74.125.232.231 
google.com has address 74.125.232.232 
google.com has address 74.125.232.233 
google.com has address 74.125.232.238 
google.com has address 74.125.232.224 
google.com has address 74.125.232.225 
google.com has address 74.125.232.226 
google.com has address 74.125.232.227 
google.com has address 74.125.232.228 
google.com has address 74.125.232.229 

下一页查询:

» host google.com 
google.com has address 74.125.232.224 
google.com has address 74.125.232.225 
google.com has address 74.125.232.226 
google.com has address 74.125.232.227 
google.com has address 74.125.232.228 
google.com has address 74.125.232.229 
google.com has address 74.125.232.230 
google.com has address 74.125.232.231 
google.com has address 74.125.232.232 
google.com has address 74.125.232.233 
google.com has address 74.125.232.238 

正如你看到的,IP列表左右旋转,而是两个IP地址之间的相对顺序保持不变。

更新:我看到几个评论吹牛关于如何DNS循环不方便故障切换,所以这里是总结:DNS是而不是故障切换。所以它显然不适合故障切换。它从未被设计成为故障切换的解决方案。

+1

我们是否需要为这个循环法启用某些功能才能工作,或者是否由每个DNS服务器自动完成?我有一个Linux和一个MS DNS。 – 2012-10-19 18:35:43

+1

它自动完成。 – karatedog 2013-08-28 11:34:02

+2

为什么谷歌这样做,如果它不包括故障转移? – 2016-01-14 00:44:23

1

是的,这是可能的,但不是很方便,因为延斯说。使用像Alteon这样的下一代负载均衡器,它使用称为DSSP(分布式站点状态协议)的专有协议,该协议执行常规站点检查,以确保服务在本地或全局(即不同的地理区域)都可用。然而,您需要在您的主DNS中将URL或服务委托给设备,方法是将该IP或服务配置为权威名称服务器。通过这样做,设备将根据您如何从多个指标中选择的方式来回答DNS查询,在该查询中它将解析具有服务的IP 循环法或者未拥塞

相关问题