DNS 负载平衡

DNS 负载平衡

我有几台服务器。我们想建立新的大服务(“大”这个词来自我的老板)。

我想使用两个 Cisco LoadBalancer ACE 4700,但是如果其中一个 ACE 发生故障,会发生什么情况?

所以我想在这两个设备之间设置 DNS 负载平衡。

我的目标是使用 DNS 防止一个负载均衡器发生故障。

怎么办?使用循环法是好主意还是坏主意?

答案1

我们使用 dnsmadeeasy.com 服务进行 DNS 负载平衡(共享是正确的词)和 DNS 故障转移。因此,我们为相同的 DNS 名称拥有多个记录,并且在 DNS made easy 中,您可以配置故障转移和监控,而且成本也不高。我们已经多次使用这项服务来节省开支。

问题在于:如果你在用户会话中使用会话持久性,不要使用 DNS 负载平衡。仅使用 DNS 故障转移,效果也很好。

回答 Ladadadada 的问题,你可以将 ttl 设置得很低。我们的 ttl 为 60 秒。

答案2

DNS 轮询负载平衡有利于分散负载,但它不是非常适合故障转移或冗余。这样做的原因是 DNS 记录会被缓存,通常会缓存几个小时。如果您的某个负载均衡器发生故障,50% 的用户将已经拥有该 IP 地址作为您域的结果,并将继续使用它,直到他们的缓存过期。

我知道 Cisco CSS 负载平衡器可以配置为冗余对,这样每个负载平衡器都可以监控另一个负载平衡器的运行状况。在任何给定时间,只有一个负载平衡器处理流量,但如果其中一个负载平衡器发生故障,另一个负载平衡器将立即接管。这种设置只需要一个 IP 地址。

我不知道 ACE 产品线的情况,但如果他们做不到同样的事情,我会感到惊讶。快速谷歌搜索显示它确实支持某种故障转移

答案3

Cisco ACE 通常(据我所知)以主动-被动对的形式部署,因此如果其中一个发生故障,另一个应该接管。这与 DNS 无关(DNS 只是通过 ACE 提供的另一种服务)。如果两个 DNS 服务器都位于同一个数据中心(或可能是大都市数据中心),这将是合适的。

关于 ACE 需要记住一件事(我想这取决于您的部署),但如果您需要知道客户端 IP(也许您正在使用不同的客户端视图进行拆分 DNS),那么您将失去这种可见性,并且您需要将内部和外部客户端指向不同的(负载平衡/共享/冗余)服务器(这更接近 DNS 的最佳实践,因为您希望内部(递归、缓存)服务器与外部(权威)DNS 服务器分开。

动态 DNS 更新也是需要考虑的问题(您的集群状态如何?)

答案4

不要使用 DNS 负载平衡,因为它无法对某些设备的可用性(不可用性)做出反应。使用 VRRP 代替它(这两个负载平衡器将共享一个 IP,当主设备死机时,从设备将获取此 IP)并将 DNS 记录指向该虚拟 IP。

相关内容