网络协议私人订制的DNS服务:需要HTTPDNS 吗?( 三 )


网络协议私人订制的DNS服务:需要HTTPDNS 吗?

文章插图
HTTPDNS 的调度设计【网络协议私人订制的DNS服务:需要HTTPDNS 吗?】由于客户端嵌入了 SDK,因而就不会因为本地 DNS 的各种缓存、转发、NAT,让权威 DNS 服务器误会客户端所在的位置和运营商,从而可以拿到第一手资料 。
在客户端,可以知道手机是哪个国家、哪个运营商、哪个省、甚至是哪个市,HTTPDNS 服务端可以根据这些信息,选择最佳的服务节点返回 。
如果有多个节点,还会考虑错误率、请求时间、服务器压力、网络状态等,进行综合选择,而非仅仅考虑地理位置 。当有一个节点宕机或者性能下降的时候,可以尽快进行切换 。
要做到这一点,需要客户端使用 HTTPDNS 返回的 IP 访问业务应用 。客户端的 SDK 会收集网络请求数据,如错误率、请求时间等网络请求质量数据,并发送到统计后台,进行分析、聚合,以此查看不同 IP 的服务质量 。
在服务端,应用可以通过调用 HTTPDNS 的管理接口,配置不同服务质量的优先级、权重 。HTTPDNS 会根据这些策略综合地理位置和线路状况算出一个排序,优先访问当前那些优质的、时延低的 IP 地址 。
HTTPDNS 通过智能调度之后返回的结果,也会缓存在客户端 。为了不让缓存使得调度失真,客户端可以根据不同的移动网络运营商的 SSID 来分维度缓存 。不同的运营商解析出来的结果会不同 。
网络协议私人订制的DNS服务:需要HTTPDNS 吗?

文章插图
小结
  • 传统 DNS 会因为缓存、转发、NAT 等问题导致客户端误会自己所在的位置和运营商,从而影响流量的调度;
  • HTTPDNS 通过客户端 SDK 和服务端,通过 HTTP 直接调用解析 DNS 的方式,绕过了传统 DNS 的缺点,实现了智能的调度 。




推荐阅读