DNS解析异常
创始人
2025-06-01 18:10:40

背景知识 (background)

网络请求的第一步,通常是进行DNS解析,即 InetAddress.getAllByName,解析成功后放入Positive Cache,默认缓存30s(可调整/禁用)。

若DNS解析失败,会放入Negative Cache,默认缓存10秒(可调整/禁用),后续DNS解析直接返回UnknownHostException。也就是说,极端情况下,DNS解析失败会导致10秒不可用。

SRE托管的JVM应用通常禁用了DNS缓存,其他自运维的应用建议禁用Negative Cache。

查看指标 (dashboard)

展开: 网络 / 域名 / DNS这一行,找到监控面板:
[DNS耗时统计]
在这里插入图片描述

其中,近五分钟解析失败是最近五分钟DNS解析失败的次数。

止损措施 (action)

DNS解析通常是偶发的,开发能做的有限,可向运维反馈,持续观察。

事后改进(postmortem)

DNS解析失败未必会产生负面影响,比如,可能当时只有DNS健康检查,没有业务请求在执行。

参考原因(cause)部分,针对性的优化。

可能的原因 (cause)

一、配置文件有误、DNS误操作

用户配置有误的,比如数据库、Redis、第三方域名弄错了,修复后重新发布即可。

DNS误操作的,联系OP及时回滚。

二、网络抖动或DNS解析瓶颈

跨机房请求容易受到网络抖动影响,比如腾讯云访问亦庄机房的。

部分DNS解析在高并发下有性能瓶颈,确保系统的DNS是可靠的,比如,k8s dns解析策略,确保是高性能的,避免无效的查询。

实践中,追求极致的DNS高可用时,可适当引入应用层缓存。比如:ApacheHttpClient 、Netty 在构造时,提供异步DnsResolver,伪代码如下:

    public InetAddress[] resolve(String host) throws UnknownHostException {//缓存不存在,则去加载 ; 如果存在,则返回旧解析,同时检查是否到过期时间了,触发异步任务去加载DnsCacheEntry record = this.dnsCache.get(host);if (record == null) {InetAddress[] addresses = InetAddress.getAllByName(host);if (addresses != null && addresses.length > 0) {this.dnsCache.put(host, new DnsCacheEntry(addresses));}return addresses;} else {// 检查下是否应该触发异步刷新if (record.isExpired(this.dnsTtlMs)) {try {this.dnsAsyncResolveExecutor.submit(new DnsResolveTask(host, (domain, ipList) -> {dnsCache.put(domain, new DnsCacheEntry(ipList));}));} catch (Exception e) {// ignore , 如果异常抛出,比如队列满了等,则返回之前的数据}}return record.getIpList();}}

除了应用层的缓存外,也可尝试 JVM自身的DNS缓存 (这个是全局的),通过命令行来控制缓存过期时间, see Networking Properties - Oracle 。

#0 = 禁用, -1 = 永久缓存,>0 缓存多少秒
-Dsun.net.inetaddr.ttl= 10
#禁用掉negative缓存, 0 = 禁用, -1 = 永久缓存,>0 缓存多少秒
-Dsun.net.inetaddr.negative.ttl=0

警告:请设置合理的缓存ttl ,兼顾运维变更的实时性和性能,目前 Redis / 数据库等基础设施的灾备切换是通过调整DNS指向来实现的 。

另外,部分域名可能会启用 DNS 负载均衡,即每次解析返回的多个IP地址的顺序不同,过大的ttl会影响负载均衡效果。

相关内容

热门资讯

赛艇运动起源于哪个国家,奥运会... 赛艇运动起源于哪个国家目录赛艇运动起源于哪个国家奥运会传统比赛项目“赛艇”起源于欧洲哪个国家?赛艇运...
时空猎人首充号为什么充值会打折... 时空猎人首充号为什么充值会打折目录时空猎人首充号为什么充值会打折安卓手游充值折扣平台安卓手游充值折扣...
自助无人洗车机多少钱一台(24... 今天给各位分享自助无人洗车机多少钱一台的知识,其中也会对24小时自助共享洗车店要多少钱进行解释,如果...
白粥的做法,白粥的做法,白粥怎... 白粥的做法目录白粥的做法白粥的做法,白粥怎么做好吃,白粥的家常做法怎样煮白粥啊?白粥的做法 制...
包含抖音很火的叫爸爸是什么梗的... 今天给各位分享抖音很火的叫爸爸是什么梗的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别...
深圳欢乐谷的门票是怎么收费得,... 深圳欢乐谷的门票是怎么收费得目录深圳欢乐谷的门票是怎么收费得2022深圳欢乐谷万圣节老人免费吗?深圳...
阴阳师青蛙瓷器哪里多 极速百科... 阴阳师青蛙瓷器哪里多目录阴阳师青蛙瓷器哪里多阴阳师青蛙瓷器哪里多阴阳师的青蛙瓷器在哪个副本出现青蛙瓷...
一个G流量是多少MB流量,手机... 一个G流量是多少MB流量目录一个G流量是多少MB流量1G上网流量是多少MB一个G的流量等于多少MB一...
道台是什么官职 极速百科网 极... 道台是什么官职目录道台是什么官职道台是什么官职在清朝道台是个什么官“道台”是官职名吗道台是什么官职 ...
描写可怕的笑的成语笑得阴险可怕... 描写可怕的笑的成语笑得阴险可怕目录描写可怕的笑的成语笑得阴险可怕描写阴险的笑的成语表示阴险的笑有哪些...
贴春联的由来,贴春联的由来是什... 贴春联的由来目录贴春联的由来贴春联的由来是什么?贴春联的由来是什么?贴春联的由来 春联,又称对...
风雪夜归人的上一句是什么,柴门... 风雪夜归人的上一句是什么目录风雪夜归人的上一句是什么柴门闻犬吠,风雪夜归人。 上一句风雪夜归人 ;燕...
漂移是什么意思(摇杆漂移是什么... 本篇文章极速百科给大家谈谈漂移是什么意思,以及摇杆漂移是什么意思对应的知识点,希望对各位有所帮助,不...
车架号后四位是什么(车架号后四... 本篇文章极速百科给大家谈谈车架号后四位是什么,以及车架号后四位是什么在哪里看对应的知识点,希望对各位...
隐形眼镜基弧是什么意思,请问,... 隐形眼镜基弧是什么意思目录隐形眼镜基弧是什么意思请问,配隐形眼镜的时候要不要关注那个基弧?隐形眼镜基...
广西省崇左市属于什么市,祟左是... 广西省崇左市属于什么市目录广西省崇左市属于什么市祟左是地级市还是县级市崇左是南宁得直辖市吗 为什么区...
内衣尺码大小分类,内衣的型号分... 内衣尺码大小分类目录内衣尺码大小分类内衣的型号分哪几种?什么abc事什么意思?34、36是尺寸嘛?内...
几个防止卫生间反味小妙招,卫生... 几个防止卫生间反味小妙招目录几个防止卫生间反味小妙招卫生间反臭怎么办?卫生间怎么样防臭几个防止卫生间...
庄子中的成语和解释,四个出自《... 庄子中的成语和解释目录庄子中的成语和解释四个出自《庄子》的成语及解释《庄子》中的成语及解释(按篇目分...
怎么切翡翠原石(收玉石的联系方... 本篇文章极速百科给大家谈谈怎么切翡翠原石,以及收玉石的联系方式对应的知识点,希望对各位有所帮助,不要...
关于燕子的古诗,描写燕子的古诗... 关于燕子的古诗目录关于燕子的古诗描写燕子的古诗描写燕子的古诗有哪些?关于燕子的古诗关于燕子的古诗 ...
好巧不巧是什么意思,好巧不巧什... 好巧不巧是什么意思目录好巧不巧是什么意思好巧不巧什么意思?“无巧不巧”究竟何解?好巧不巧是什么意思好...
关东煮里面放什么配料啊,关东煮... 关东煮里面放什么配料啊目录关东煮里面放什么配料啊关东煮的配料关东煮需要哪些调味料呀?请问,关东煮都可...
极速进化满电出发!长安深蓝SL... 本篇文章极速百科给大家谈谈极速进化满电出发!长安深蓝SL03开启预售,以及长安蓝鲸plus新车报价对...
比亚迪f3汽车报价(比亚迪f3... 今天给各位分享比亚迪f3汽车报价的知识,其中也会对比亚迪f3价格及图片易车进行解释,如果能碰巧解决你...
两台电脑怎么共享一台打印机,两... 两台电脑怎么共享一台打印机目录两台电脑怎么共享一台打印机两台电脑如何共享一台打印机?请问一个打印机怎...
16个复韵母有哪些(16个复韵... 本篇文章极速百科给大家谈谈16个复韵母有哪些,以及16个复韵母怎么读拼音视频对应的知识点,希望对各位...
樟树有什么作用,樟树有什么作用... 樟树有什么作用目录樟树有什么作用樟树有什么作用?樟树的用途有哪些?樟树有什么作用?樟树有什么作用 ...
dazl启动子的作用,启动子和... dazl启动子的作用目录dazl启动子的作用启动子和终止子是什么作用的?dazl启动子的作用启动子的...
写字楼是干什么的 极速百科网 ... 写字楼是干什么的目录写字楼是干什么的写字楼是干什么的写字楼是干什么的 写字楼的功能介绍写字楼是干什么...