相关疑难解决方法(0)

多个数据中心和 HTTP 流量:DNS Round Robin 是确保即时故障转移的唯一方法吗?

指向同一个域的多个 A 记录似乎几乎专门用于将 DNS 轮询作为一种廉价的负载平衡技术来实现。

针对 DNS RR 的常见警告是它不利于高可用性。当 1 个 IP 出现故障时,客户端将继续使用它几分钟。

通常建议使用负载平衡器作为更好的选择。

这两种说法都不完全正确:

  1. 当流量为 HTTP 时,大多数 HTML 浏览器能够自动尝试下一条 A 记录(如果前一条记录出现故障),而无需进行新的 DNS 查找。阅读此章节3.1这里

  2. 当涉及多个数据中心时,DNS RR 是在它们之间分配流量的唯一选择。

那么,对于多个数据中心和 HTTP 流量,使用 DNS RR 是确保在一个数据中心出现故障时立即进行故障转移的唯一方法吗?

谢谢,

华伦天奴

编辑:

  • 当然,每个数据中心都有一个带有热备份的本地负载均衡器。
  • 为即时故障转移牺牲会话亲缘关系是可以的。
  • AFAIK DNS 建议数据中心而不是另一个数据中心的唯一方法是仅回复与该数据中心关联的 IP(或多个 IP)。如果数据中心变得无法访问,那么所有这些 IP 也无法访问。这意味着,即使智能 HTML 浏览器能够立即尝试另一个 A 记录,所有尝试都将失败,直到本地缓存条目过期并完成新的 DNS 查找,获取新的工作 IP(我假设 DNS 自动建议给一个一个失败时的新数据中心)。因此,“智能 DNS”不能保证即时故障转移。
  • 相反,DNS 循环允许它。当一个数据中心出现故障时,智能 HTML 浏览器(大多数)会立即尝试将其他缓存的 A 记录跳转到另一个(工作)数据中心。因此,DNS 循环不能保证会话亲和性或最低的 RTT,但当客户端是“智能”HTML 浏览器时,它似乎是确保即时故障转移的唯一方法。

编辑2:

  • 有些人建议将 TCP Anycast 作为最终解决方案。在纸(第6章)中说明了选播器故障切换是关系到BGP收敛。出于这个原因,任播可以使用 15 分钟到 20 秒来完成。在为此优化拓扑的网络上,20 秒是可能的。可能只有 …

domain-name-system high-availability anycast cdn geodns

81
推荐指数
4
解决办法
3万
查看次数

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

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

domain-name-system high-availability redundancy fault-tolerance round-robin

9
推荐指数
2
解决办法
1万
查看次数

如果不建议使用 DNS 故障转移,那是什么?

作为他非常受欢迎的问题的后续问题:为什么不建议使用 DNS 故障转移?,我认为由于缓存,DNS 故障转移不是 100% 可靠的。

然而,投票最高的答案并没有真正讨论在两个不同数据中心之间实现故障转移的更好解决方案是什么。提出的唯一解决方案是本地负载平衡(单个数据中心)。

所以我的问题很简单,跨数据中心故障转移的真正解决方案是什么?

domain-name-system disaster-recovery failover high-availability datacenter

7
推荐指数
2
解决办法
6624
查看次数

Apache 在不同位置的两个前端的可用性。是否可以?

我必须到地点(办公室和服务提供商)。一个 DNS(绑定)为我们的域提供权威服务,以及一个服务提供商网络服务器,我们的公司网站位于私人服务器上。

所以..

现在我们正计划将我们在 ISP 上的服务器升级到新的服务器,我想利用这种情况来改善我们的服务。

是否可以将高可用性 apache/mysql/php 安装到不同的位置?

我将在同一台新服务器上安装一个绑定从属服务器,所以我希望它能让事情变得更容易,但我需要一些关于如何使用它的提示和技巧。

谢谢。

domain-name-system linux high-availability apache-2.2

6
推荐指数
1
解决办法
635
查看次数

如何为 HA 设置 Traefik?在 Traefik 前需要反向代理吗?

我正在尝试在生产站点上设置 Traefik,但我正在努力解决一些高可用性问题。我认为我们在 Traefik 集群前面仍然需要一个反向代理。以下是我考虑过的潜在设置,以及为什么似乎需要反向代理:

  1. 设置 DNS A 记录以指向每个 Traefik 节点以进行负载平衡和故障转移。

    • 根据包括this SO questionthis SF question在内的多个站点,不鼓励这种做法。

    • 由于 DNS 缓存和 TTL 问题,即使使用像 DNSMadeEasy 这样的服务似乎也不受欢迎。

  2. 将一条 DNS 记录指向运行 Traefik 的节点之一。

    • 该节点成为 SPOF。我的节点在 CoreOS 上运行,每次更新后都会重新启动,因此我们可以保证每周有几分钟的停机时间。

    • 我们可以在预计停机时将 DNS 记录移动到备用节点。这将是手动管理的痛苦。我可以设想一个与 locksmithd 配对的解决方案可以自动处理这个问题,但我真的不想构建它,它也不会处理意外停机时间。

    • 使用 Docker Swarm(或 Kubernetes)的部分理由是使节点可互换。

  3. 在 Traefik 集群前面放置一个负载均衡器/反向代理。反向代理可以在所有 Traefik 节点之间提供故障转移,DNS 将指向反向代理。

    • 是的,这是一个 SPOF,但根据我的经验,通过这种设置很容易获得良好的正常运行时间。如果需要偶尔维护,可以将 DNS 记录指向新的代理。

我是错过了什么还是想多了?

high-availability reverse-proxy

6
推荐指数
1
解决办法
5369
查看次数

如果 DNS 更新需要数小时才能传播,动态 DNS 如何工作?

Simple Failover将自身定位为:

持续监控您的服务器以找出哪些服务器已启动和哪些已关闭,然后它会相应地动态更新您的 DNS 记录,以便您的域名始终指向功能正常的服务器。

据我所知,更新 DNS 记录可能需要数小时到数天才能传播。因此,即使他们动态更新我服务器的 DNS 记录,我的用户仍然需要等待几个小时才能看到任何更改,对吗?

如果是这样,“简单故障转移”如何工作?

domain-name-system failover dns-hosting

4
推荐指数
1
解决办法
1416
查看次数

静态镜像流量大的站点,CloudFlare 作为 DNS

我运行着一个流量相当大的网站,由于一些不幸的事件,我在 Linode 的云中的机器宕机了。而且我只有一台暴露于外界的负载均衡器机器(一个 IP)。

此外,我的网站是可以镜像的6,000 多个静态页面的候选。现在我的 DNS 是CloudFlare

我可以做些什么来维护我网站的静态镜像并路由到它,以防我的网站出现故障。
因为我是从 Linode 运行的,所以我没有像Route53这样的东西来检测一个 IP 地址的停机时间并指向另一个 IP 地址。

人们使用静态镜像站点和防止停机的策略是什么?

domain-name-system cache mirroring static-content cloudflare

4
推荐指数
1
解决办法
3376
查看次数

如何使用 DNS 服务器为我的网站创建简单的 HA(高可用性)?

欢迎,

如何使用 DNS 服务器创建网站的简单 HA(高可用性)?

例如,如果我的网络服务器(为了更好地理解我实际上使用内部 IP,它将是其他托管公司)

192.168.0.120 :80(离线)流量转到 192.168.0.130 :80


你说得对,我用坏词“高可用性”当然我在考虑故障转移。

在 A 记录中使用少量 IP 有利于简单的负载平衡。但不是万一,如果我想通知用户关于失败的信息(例如显示页面,哎呀,没有我们的服务器就出现问题,我们正在处理它)反对“无法建立连接”。

我正在考虑设置这样的东西

2台DNS服务器,一台安装在www服务器上

两者都有低TTL

在我的域上,首先为 DNS 设置 2 ns 记录,我的 apache 服务器其次是其他 dns

如果用户尝试连接,他将使用第一个 dns 获取 www 服务器的 ip,如果该 dns 离线(可能 www 服务器也已关闭),那么它将尝试第二个 NS 记录,什么将指向另一个 dns,该 dns 将指向“备份“ 页。

这就是我想做的。

如果您有其他想法,请分享。

反向代理不是选项,因为服务器的 IP 可以更改,或者我可以使用其他国家/地区进行备份。

domain-name-system cluster

3
推荐指数
1
解决办法
2万
查看次数

如果我的服务器停机,我如何提供静态登录页面?

如果我的主 Web 服务器关闭(当前是 Rackspace Cloud 实例),我想回退到静态网页。这将是一种不应该发生但以前发生过的更糟情况(例如 Backspace 硬件故障)。服务器的冗余将是一个最佳解决方案,但预算是一个问题..所以我正在寻找一个低成本的自动回退,如果目前唯一的服务器发生问题

domain-name-system web-server load-balancing

3
推荐指数
1
解决办法
3120
查看次数