域名解析的双 ip 停掉一个后,无法通过域名请求接口

3 天前
 cunyu1943
1387 次点击
所在节点    程序员
15 条回复
ilovey482i
3 天前
DNS 有本地缓存,不是立刻生效的
cunyu1943
3 天前
@ilovey482i 过了一段时间试也不行
ho121
3 天前
将其中一个 ip 停掉后,域名解析有没有把这个 ip 下掉?
songyoucai
3 天前
灾备切换 ip 停掉 是要把 dns 解析给停掉,而不是把其中一个 ip 的服务停掉,而且 dns 是有缓存的,整个链路上都有 dns 的缓存
salmon5
3 天前
有些有缓存,比如 Java networkaddress.cache.ttl ,有些使用场景是长期缓存,
nginx 反向代理也是长期缓存,这个做 LB 合适,做 HA 有点弱。
wheat0r
3 天前
dns 还得检测 IP 是否存活?这不是普通 A 记录要解决的问题吧
dongfangmu
3 天前
dns 应该检测不到 ip 存活吧,楼上老哥说的有道理
busier
3 天前
单纯的一个 A 记录对应多个 IP 只会轮询。不存在自动灾备切换功能。
Yii234
3 天前
DNS 不做高可用的,一般是给 192.168.0.1 、192.168.0.2 做 keepalived ,挂一个 vip(如:192.168.0.233),域名解析到这个 vip 上面,如果 0 、1 中一个节点挂掉,ka 去切换 vip 到存活节点上
unklity
3 天前
@busier 正解
Mitt
3 天前
多 IP 的情况下是要软件去适配的,比如 curl ,会将域名解析出两个 IP ,然后尝试第一个 IP 访问失败后会再尝试第二个 IP 进行访问,如果软件不适配支持这个处理逻辑,就只随机尝试其中一个 IP 然后就失败了
cndns
3 天前
@wheat0r 有些 DNS 服务器商的收费服务提供检测并自动切换。
wolonggl
3 天前
@Yii234 主从备份一般都是这样操作,减少 dns 缓存影响
GeekGao
2 天前
使用 nslookup 命令检查不同 DNS 服务器返回的结果是否一致。
realpg
2 天前
楼上所有人都没说到点子上 说的全是错的

你要去看你请求使用的库的源代码或者说明手册, 看域名返回多 IP 的处理逻辑是什么 跟缓存无关 全链路缓存都是多个 IP

比如 chrome 浏览器 他的逻辑就是请求其中一个 直到很多秒后超时再请求另一个

有些库只会随机请求一个 没有后续
有些库只会请求第一个或者最后一个 没有后续
有些库会随机请求一个, 超时第二次重新请求还是这一个
有些库会随机请求一个, 超时第二次重新请求随机一个 不排除之前不好使的

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

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

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

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

© 2021 V2EX