AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 563835
Accepted
GetFree
GetFree
Asked: 2013-12-28 13:26:37 +0800 CST2013-12-28 13:26:37 +0800 CST 2013-12-28 13:26:37 +0800 CST

循环 DNS 是否是实现高可用性的可能解决方案?

  • 772

假设我有 2 个给定域的 IP(循环 DNS)。
如果其中一个 IP 变得无响应,客户端是否会尝试连接到另一个 IP?或者他们将无法与域建立通信?

domain-name-system
  • 3 3 个回答
  • 11843 Views

3 个回答

  • Voted
  1. Tony Weston
    2014-09-27T08:22:57+08:002014-09-27T08:22:57+08:00

    使用负载均衡器仍然会留下单点故障。如果您的负载均衡器离线,您的网站就会关闭。

    与上述答案相反,大多数 HTTP 客户端已经支持尝试从 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 可能是更好的解决方案,因为不再存在单点故障。

    • 19
  2. Best Answer
    Ryan Ries
    2013-12-28T13:28:32+08:002013-12-28T13:28:32+08:00

    DNS 循环不是负载均衡器的良好替代品。DNS 服务器将继续分发已关闭节点的 IP,因此您的一些用户将访问您的服务,而其中一些则不会。

    当客户端进行 DNS 查询时,DNS 服务器会返回与该名称关联的所有IP 地址。魔术是通过 DNS 服务器为每个查询轮换该列表的顺序来完成的。但是,由应用程序来实现“遍历”列表直到找到有效的 IP 的能力。大多数应用程序都不会这样做。

    奇怪的是,Windows Telnet 就是这样一种应用程序,它足够智能,可以遍历返回的 IP 的链接列表。例如,如果您尝试 telnet 到 google.com,您可以自己看到此行为。您会注意到最终失败需要很长时间。那是因为 google.com 有很多 IP 地址,而 telnet 客户端正在尝试每一个。

    • 14
  3. Michael Graff
    2013-12-29T08:02:05+08:002013-12-29T08:02:05+08:00

    虽然轮询 DNS 通常不会对其为其提供地址的服务器的状态提供反馈,但如果您随后为每个地址配备某种负载平衡器(包括基于路由器的技巧),它可能会有所帮助。

    当事情失败时,有一些技巧可以更新 DNS;如果发生这种情况,具有适当短 TTL 的循环 DNS 可以成为伪负载平衡器。

    • 2

相关问题

  • Solaris DNS

  • resolv.conf 在经过一段时间后被更改

  • 为什么有些网站的网址中没有“www”就无法显示?[关闭]

  • 为本地网络中的名称解析添加自定义 dns 条目

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve