我知道这是一个糟糕的“解决方案”,如果它是一个的话,但由于情况原因,我认为它是合适的。
如果服务器 A 运行 ns1.example.com,服务器 2 运行 ns2.example.com,并且两者都托管一个网站的完全相同的副本,但每个都有指向自己的 www.example.com DNS A 记录。如果服务器 A 突然发生故障,这是否可以作为一种廉价/快速(设置)的故障转移解决方案?
在我看来,30 分钟到 1 小时的停机时间并不是什么大问题,因此可以在那段时间左右调整 DNS TTL。
答案1
这是否可以作为一种廉价/快速(设置)的故障转移解决方案
并不真地。
DNS Round Robin 并不是真正的故障转移或 HA 解决方案。它更像是负载平衡解决方案。如果其中一台服务器发生故障,大约一半的对网站的请求可能也会失败,直到离线服务器的记录首先从 DNS 服务器中删除,然后您必须等待 TTL 值在删除后过期并等待终端系统将其从其缓存中清除。
编辑:如果您希望设置两个 NS 服务器来为具有不同记录的同一区域提供服务,那么这很可能行不通。
答案2
循环 DNS 通常要求两台服务器都提供两个 A 记录,因为拥有多个将向单个客户端呈现不同区域的权威 DNS 服务器是不可行的,至少从管理角度来看是这样,而且很可能从 RFC 角度来看是这样。