登录控制台

接入指南

作者:蔚可云 时间:2020-12-07

一、HttpDNS 简介

1.HttpDNS 原理

常规域名解析是通过 DNS 协议进行解析的,其最终结果就是获取域名对应的真实服务器地址,无法绕开 DNS 拦截和故障问题。
而 HttpDNS 则是以 HTTP 的方式代替传统 DNS 协议传递解析结果,能够有效避开 DNS 层面的拦截和故障。客户端通过接口向蔚可云提供的HttpDNS 集群发起“DNS 查询”请求, HttpDNS 集群根据请求携带的域名和 IP 信息,查询 CDN 内部调度策略,通过响应请求的方式,返回给客户端最优节点 IP。客户端得到最优节点 IP,通过在 header 中指定 host 字段,进行正常的业务访问。

2.访拓扑图流程

访拓扑图流程 访问流程:客户端已根据 “2.接入指南” 完成客户端改造,具体客户端与 HTTPDNS 系统的业务流程如下
(1)客户端向HttpDNS中心集群发起查询请求,携带用户域名和终端 IP(可选)。
(2)服务集群查询客户域名的覆盖配置,将域名最佳访问节点 IP 以 HTTP 响应的方式传递给客户端。
(3)客户端,收到响应结果,向节点发起请求。
(4)若客户端向HttpDNS集群请求失败,则启用备选,走正常 DNS 解析过程,向LocalDNS 发起请求。
(5)LocalDNS 进行递归查询。
(6)最终返回 DNS 结果
(7)客户端拿到最优 IP 后,建立连接,发起正常访问操作

二、接入指南

客户端逻辑流程图
客户端逻辑流程图 缓存说明
缓存策略
移动互联网用户的网络环境比较复杂,为了尽可能地减少由于域名解析导致的延迟,建议在本地进行缓存。 缓存规则如下:
① 缓存时间:
缓存时间建议采用查询得到域名 TTL。在客户端向HttpDNS集群发起域名解析请求时,得到请求响应的实体中会包含域名对应的 TTL 值。
查询本地缓存
本地是否缓存
② 缓存更新:
缓存更新应在以下两种情形下进行:
1)用户网络状态发生变化时
移动互联网的用户的网络状态由 3G/4G 切 Wi-Fi,Wi-Fi 切 3G/4G 的情况下,其接入点的网络归属可能发生变化。所以用户的网络状态发生变化时,需要重新向HttpDNS发起域名解析请求,以获得用户当前网络归属下的最优指向 IP。
2)缓存过期时
当域名解析的结果缓存时间到期时,客户端应该向HttpDNS重新发起域名解析请求以获取最新的域名对应的 IP。
③ 缓存时间更新优化:
为了减少用户在缓存过期后重新进行域名解析时的等待时间,建议在 TTL 快过期时(例如达过期时间 75%时)就开始进行域名解析。例如本地缓存的 TTL 为 600s,那么在第600*0.75=450s 时刻,客户端就应该进行域名解析。
④ 配合缓存的其他建议:
1)可在一次 http 请求中同时查询多个域名结果,批量得到结果,减少域名解析的次数,提升了解析效率
2)建议在业务允许的情况下,尽量减少域名的数量。如需区分不同的资源,建议通过 url来进行区分。
本页目录