目录
1、传统DNS存在哪些问题?
2、HTTPDNS工作模式
3、HTTP的缓存设计
4、HTTPDNS的调度设计
1、传统DNS存在哪些问题?
1)域名缓存问题:导游记忆记错了
2)域名转发问题:A运营商偷懒转给B运营商
3)出口NAT问题:NAT转换后DNS误判运营商
4)域名更新问题:DNS的域名TTL有效期跟不上场景切换
5)解析延迟问题:递归查询时间长
2、HTTPDNS工作模式
自己搭建基于HTTP协议的DNS集群。客户需要DNS解析时直接请求集群得到就近地址。
手机中安装HTTPDNS的客户端SDK,维护解析列表(类似hosts文件)
3、HTTP的缓存设计
客户端SDK -- 本地缓存(自己控制过期时间,更新时间) -- HTTPDNS服务器
对比: Tomcat应用 -- Redis缓存 -- Mysql数据源
DNS解析可以有同步解析和异步解析两种模式。
4、HTTPDNS的调度设计
SDK客户端搜集请求数据:如错误率,请求时间,请求数据质量等,判断不同IP的服务质量
服务端有管理接口,可配置不同服务质量IP的优先级,权重。
最终是通过HTTPDNS绕过了DNS的缺点,实现了智能调度。