首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >两个数据中心方案中的DNS故障转移

两个数据中心方案中的DNS故障转移
EN

Server Fault用户
提问于 2012-03-30 10:11:58
回答 1查看 1.3K关注 0票数 0

我试图实现一个低成本的解决方案,网站高可用性。我正在寻找以下场景的缺点:

我有两个服务器,具有相同的配置、内容、mysql复制(双主)。它们位于不同的数据中心--让我们称它们为serverA和serverB。用户使用serverA - serverB更像是备份。现在,我想使用DNS故障转移,在serverA关闭时将用户从serverB切换到serverA。

我的想法是在serverA和serverB上设置DNS服务器(绑定/powerdns)--让我们称它们为ns1.website.com和ns2.website.com (假设我拥有website.com)。然后,我将我的域配置为使用它们作为其名称服务器。两个DNS服务器都将返回serverA IP作为我网站的IP。如果serverA下降,我可以(手动或自动从serverB)更改服务器B的DNS配置,将serverB的IP作为网站的IP返回。当然,TTL会很低,因为它应该在DNS故障转移中。

我知道切换到serverB (DNS ttl、检测serverA故障的时间、serverB DNS重新配置等)可能需要一些时间,而且一些小部分用户无论如何也不会使用serverB。我也不介意。但是,这种做法还有哪些不利因素呢?

另一种情况是,ns1.website.com将返回serverA IP作为网站的IP,而ns2.website.com将返回serverB IP作为网站的IP。但是AFAIK客户端并不总是使用主名称服务器,有时还会使用次要名称服务器。因此,有一小部分用户会使用serverB而不是serverA,这不是我想要的。您能确认DNS客户端的行为是这样的吗?您能知道有多少百分比的客户端可能使用serverB而不是serverA (统计数字)?这也有一个缺点,当serverA恢复时,它将被自动用作网站的主服务器,这也是一种糟糕的情况(冷缓存、mysql复制可能同时失败等等)。所以我把它作为一个理论上的替代方案。

我正在考虑使用一些专业的DNS故障转移公司,但他们收取DNS请求的数量和费用非常高(为什么?)

EN

回答 1

Server Fault用户

发布于 2012-03-30 11:05:03

“故障转移”不是本地DNS服务器功能;这必须始终在另一层实现。

也就是说,执行它的方法确实有两种: georedundancy和使用anycasting的-locality (即返回的IP取决于请求的来源或其他一些标准),或者是对DNS数据的临时查询。

因为你所描述的原因,后者从来没有像前者那么快。

尽管如此,后者很容易自己实现;您所需要的只是实现ddns更新的权威服务器。

检测失败,用nsupdate更新名称服务器,并等待TTL过期。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/375204

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档