移动networking中的循环DNS

在阅读负载分配scheme并给予我在该领域的有限技能之后,我偏向于循环赛DNS策略。

根据我的理解,DNS Round-Robin的一个关键方面是设置一个低TTL值,避免caching。

我主要关心的是,我所有的stream量都来自移动networking,其中近30%来自t-mobile 3G。 一些问题:

1)是否有可能在同一个移动networking上几乎所有的客户端都会被redirect到TTL帧中的同一个IP地址? 这会杀死分配技术。

2)如果我select一个非常低的TTL(零或一)。 这直接影响客户的performance? 它每次都会发生DNS错误,或者它只是一个只影响DNS服务器的设置?

任何帮助将非常感激。 谢谢

  1. 每个连续的查找将重新sortingAlogging,大多数客户端将解释一个多Alogging响应,意味着使用列表中的第一个logging。 如果您有许多客户端使用相同的DNScachingDNS服务器,则可能会看到负载不均衡。

Android默认会将DNScaching10分钟。 有些事情要考虑。

  1. 设置一个低TTL会影响你的DNS服务器的负载,但由于协议是如此轻量级,这不会有问题,除非你是一个巨大的规模。

另外,请考虑Alogging列表中的一个IP失败的情况。

我build议你看看这个问题 ,这个问题可以给你一些关于DNS循环的工作原理和主要缺点。

关于你的具体问题:

  1. 这是DNS轮循机制的主要缺点之一,因为logging不仅在DNS层次结构本身中caching,而且在操作系统和浏览器或其他应用程序上也caching。 所有这些caching级别的组合可能非常难以pipe理。

  2. 我想说这个影响很低,但是可以衡量,但是我不build议这样做,因为它不能解决真正的问题。 有一些事情需要考虑:许多DNSparsing器不遵守权威DNS定义的TTL,并使用自己的策略,如上所述,还有其他caching级别需要考虑(OS,broswer等)。 对于类似的问题,这里有很多的答案 。

如果您正在考虑针对Web应用程序的DNS Round-Robin,我build议您查看HAProxy ,它可以实现便宜但真正的冗余。

希望这可以帮助!