Get*_*ree 9 domain-name-system high-availability redundancy fault-tolerance round-robin
假设我有给定域的 2 个 IP(循环 DNS)。
如果一个 IP 变得无响应,客户端是否会尝试连接到另一个 IP?或者他们将无法与域建立通信?
小智 18
使用负载均衡器仍然会留下单点故障。如果您的负载均衡器离线,您的网站就会关闭。
Conterary上述答案,大多数HTTP客户端已经DO支持,试图从一个DNS查询返回到一个有效的响应的一个回报每一个IP地址。请看这里:
http://blog.engelke.com/2011/06/07/web-resilience-with-round-robin-dns/
看来作者已经测试了以下浏览器并发现它们可以正常工作。
Windows 7 上的 Chrome 11 Windows 7 上的
Firefox 4.0 Windows 7 上的
Internet Explorer 8 Windows 7 上的
Opera 11 Windows 7 上的
Safari 5
Windows XP 上的 Internet Explorer 7(明显延迟后)
Windows XP 上的 Firefox 4.0(明显延迟后)
Android 原生浏览器在 Android 2.3.3 上
iPhone 原生浏览器 在 iOS 4.3.3 上
使用轮询无法完成负载平衡服务器的所有功能,例如能够监视来自两台服务器的响应时间,并将更多流量路由到一台服务器,如果另一台服务器响应速度不够快)。对于弹性,我会说循环 DNS 可能是更好的解决方案,因为不再存在单点故障。
Rya*_*ies 13
DNS 循环不能很好地替代负载平衡器。DNS 服务器将继续分发已关闭节点的 IP,因此您的一些用户将获得您的服务,而其中一些则不会。
当客户端进行 DNS 查询时,DNS 服务器返回与该名称关联的所有IP 地址。魔术是通过 DNS 服务器为每个查询轮换该列表的顺序来完成的。但是,由应用程序实现“遍历”列表的功能,直到找到一个有效的 IP。大多数应用程序不会这样做。
奇怪的是,Windows Telnet 就是这样一种应用程序,它足够聪明,可以遍历返回 IP 的链接列表。例如,如果您尝试 telnet 到 google.com,您可以自己看到这种行为。您会注意到最终失败需要很长时间。那是因为 google.com 有很多 IP 地址,而 telnet 客户端正在尝试每一个。
| 归档时间: |
|
| 查看次数: |
11170 次 |
| 最近记录: |