DNS 轮询的时候一个 IP 无法访问浏览器会自动重试另一个 IP 吗?

2019-02-08 12:01:43 +08:00
 8e47e42
域名 xyz.com 有一条 A 记录,同时绑定 1.1.1.1 和 2.2.2.2 两个 IP 做 DNS 轮询。如果浏览器无法访问 1.1.1.1 的时候会自动重试 2.2.2.2 吗?谢谢大家。
2034 次点击
所在节点    问与答
8 条回复
whileFalse
2019-02-08 12:03:15 +08:00
不会。
mason961125
2019-02-08 12:37:37 +08:00
这样解释吧,轮询的意思是:多次 DNS Query 会返回不同的结果。但是一旦一个 DNS Query 完成了,那么这次的结果就确定了。
flyz
2019-02-08 12:45:43 +08:00
并不会,所以我套了减速 cf,
不然要被别人打成孙子。
tadtung
2019-02-08 12:46:25 +08:00
不会,轮询其实类似负载均衡。
你需要的应该是故障后自动更换备用 dns。
我记着 dnspod 这些都可以。
1423
2019-02-08 13:00:22 +08:00
@mason961125 并不是吧
配置多 ip 后会全部返回,是幂等的
8888 这种会随机多个 ip 的顺序,是为了让只使用第一个 ip 的客户端实现也能够时间纬度上负载均衡

多 ip 时是否失败重试,取决于客户端使用 socket 的方式,如果交给系统解析 dns,就无法区分是否有多个 ip,只能无脑重试 n 次,而 ss 或者 chrome 似乎都具备自行解析 dns 的功能,所以是否失败重试是客户端自行考量实现的

curl 实现了 ipv6 失败时的回落 ipv4
Aoang
2019-02-08 14:17:52 +08:00
配置 DDNS 的时候遇到过这个问题。
因为之前使用的是 HE 的 DDNS,需要添加一条记录并开启 DDNS 才能使用。
使用 Aliyun 的时候也跟着这么配置了(记录填了 8.8.8.8 ),然后访问网页的时候,有时候秒开,有时候根本打不开。
一天突然想起来查 DNS 解析,才发现有两条记录。

游览器是不会自动重试的,先返回那个 IP 就会访问那个。
mason961125
2019-02-08 14:21:04 +08:00
@1423 #5 确实看具体应用的实现。
BOYPT
2019-02-08 14:21:41 +08:00
#5 楼正解。一个 A 记录多个 IP 地址,查询时候会直接返回全部的 IP,不存在“轮询”,实际使用哪个,取决于客户端实现。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/533423

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX