当我的 A Web 服务器被拔掉时,我如何自动将所有用户重定向到我在另一个城市的 B Web 服务器,反之亦然?

Dav*_*ary 15 failover high-availability

当我的 A Web 服务器被拔掉时,我如何自动将所有用户重定向到我在另一个城市的 B Web 服务器,反之亦然?

负载平衡开关可以满足我的需求,但除非两个 Web 服务器都在同一建筑物中,否则我无法弄清楚如何使其工作。

高可用性集群系统可以做我想要的,除非我不知道如何让它工作,除非两个 Web 服务器都在同一栋楼里。

当主 Web 服务器关闭时重定向到另一个 Web 服务器上的静态页面”的公认答案似乎支持 2 个不同城市的 Web 服务器。但是拔掉那个盒子后,在一个盒子上安装一个软件对我有什么帮助?

如何循环DNS内容分发网络(CDN的)做呢?

我想一种方法是这样开始的:

  1. 我获得了每台物理 Web 服务器的 IP 地址。
  2. 我将每个物理 Web 服务器的 IP 地址放入“该”网站(多个 A 记录或 AAAA 记录或两者)的单个域名的 DNS 记录中。
  3. ……那我需要做什么?

我想另一种方法开始像

  1. 我使用一些动态 DNS 提供程序作为我希望用户在 Web 浏览器中输入的单个域名
  2. 我在每个 Web 服务器上设置了一个 cron 作业,它会定期告诉 DNS 提供商它自己的 IP 地址(更新 A 记录或 AAAA 记录)或它自己的域名(更新 CNAME 记录或 DNAME 记录)。
  3. ……那我需要做什么?

(目前,如果我的用户得到一个包含我的联系信息的静态网页和一个脚注,每当 Web 服务器 A 被拔掉时,我会很高兴“主 A Web 服务器似乎已关闭”。这已经比当前系统仅给出“未找到服务器”错误。理想情况下,我希望 A 和 B 完全同步并且明显相同——但这是另一个问题的内容:相当于 CDN 但对于动态内容?)。

ban*_*ang 6

听起来您可能正在寻找全局服务器负载平衡 (GSLB) 解决方案。GSLB 通常使用“智能”DNS 根据多个参数(即服务器不可用、高负载、IP 地理位置等)将用户定向到不同的服务器。

例如,假设您有两台 Web 服务器,一台在西边 (10.10.10.1/24),一台在东边 (10.20.20.1/24)。假设您的网络主机名为 www.connect.com。

GSLB 可以配置为您的 DNS 或 CNAME。无论哪种方式,用户输入 www.connect.com,dns 查询都会定向到 GSLB 解决方案,它会根据参数以 10.10.10.1 或 10.20.20.1 进行响应。GSLB 通常设置一个较低的 TTL,以便客户端主机/浏览器将响应缓存的时间尽可能短。有多种方法可以解决持久性问题,但这超出了本场景的范围。

假设东部 (10.20.20.1) Web 服务器出现故障。GSLB 通常会执行健康检查来检查后端节点的健康状况。GSLB 通知东已关闭,www.connect.com 的所有后续 dns 记录将解析为 10.10.10.1。

如果您有本地服务器负载平衡解决方案 (SLB),那么您可以将其设置为 www.connect.com 是具有两个后端节点(10.10.10.1/24 和10.20.20.1/24)。从技术上讲,节点可以在不同的网段,只要本地 SLB 可以到达其他服务器。如果后端节点出现故障,SLB 解决方案可能足够智能,可以将用户重定向到可用服务器。如果您使用 F5 LTM,那么您可以轻松地为此类事件创建 iRule。Citrix NetScaler 和其他 SLB 解决方案也应该具有类似的功能。

在这种情况下,RR DNS 不起作用。RR DNS 没有内置智能。使用 DNS 完成用例的唯一方法是通过 GSLB(或类似)解决方案使用某种“智能”DNS。

CDN 通常会实施 GSLB/SLB 解决方案来确保其客户的 HA。


mrd*_*nny 2

您想要研究 F5 和 Cisco 等全球负载均衡器。基本上,如果合作伙伴出现故障,他们会使用 DNS 执行一些操作;如果合作伙伴正常运行,他们会通过负载均衡器将数据传输到另一端。