通过应用内加入 newrelic 探针监控,发现公司现在应用的域名解析有时间段有高于20%的失败率。
很早之前询问过 dnspod 客服,说是即使付费服务也不能解决这个问题,
客服也没告知具体原因,不太清楚是不是和运营商劫持有关。
应用内自己设定 DNS 服务器
Android/iOS 有没有不需要用户设定,就可以在应用内自定义 DNS 解析的方案? 包括但不限于 DNS over HTTPS
是否更换 DNS 服务商可以有所缓解?
观察了其他一些服务,包括友盟统计、讯飞语音都有大量 DNS 解析失败。 微信 SDK 的流氓统计 pingma.qq.com 倒是很少出现 DNS 解析问题。
1
dfc643 2017-05-05 17:44:43 +08:00 1
1. 可以用 HTTP DNS 解决,DNSPod 也提供该服务,还可防止 ISP 劫持。
2. 如果是用户运营商所致换了也没有用,如果确信 DNS 服务商问题可尝试更换。 附录: DNSPod HTTPDNS 参考地址: https://www.dnspod.cn/httpdns |
2
safeoy 2017-05-05 21:19:57 +08:00 1
请求频次太高了吧,可以在应用内部做 DNS 缓存吧
|
3
oldcai OP |
4
oldcai OP @dfc643 可能自己封装 HTTP 协议,还能这么做,但是如果是 https 呢,也这么从 0 开始封装就。。
现在就是不知道如何插手到 DNS 这一环节中。 |
5
dfc643 2017-05-06 08:34:38 +08:00 1
@oldcai
HTTP 客户端直接请求解析 IP 然后附上 Host 即可,HTTPS 应该也是同理。 另外安卓有 HTTPDNS 库可以用,至于 iOS 不太清楚。 另外既然请求同一域名,系统又有缓存为何会高频率请求失败呢? 附件: 腾讯云 HttpDns 安卓 SDK: https://github.com/tencentyun/httpdns-android-sdk |