phpok企业建站系统,深圳广告设计公司深圳画册设计,windows优化大师电脑版,深圳大型设计公司排名传统 DNS 存在哪些问题#xff1f;
域名缓存问题 我们知道CND会进行域名解析#xff0c;但是由于本地会进行缓存对应的域名-ip地址#xff0c;所以可能出现过期数据的情况。 域名转发问题 出口 NAT 问题 域名更新问题 解析延迟问题 因为在解析DNS的时候#xff0c;需要进行…传统 DNS 存在哪些问题
域名缓存问题 我们知道CND会进行域名解析但是由于本地会进行缓存对应的域名-ip地址所以可能出现过期数据的情况。 域名转发问题 出口 NAT 问题 域名更新问题 解析延迟问题 因为在解析DNS的时候需要进行递归的遍历多个DNS服务器这中间有一定的时延所以会有时间延迟问题。
HTTPDNS的工作模式
既然DNS存在一定的问题 那么又没有轻量级的DNS解析方式HTTPDNS其实就是一种使用HTTP协议进行DNS解析请求服务器集群获取最近的地址。 整体流程如下 1.手机客户端请求HTTPDNS服务器获取IP列表缓存在本地随着不断的解析域名本地也会存储一份DNS解析结果的缓存数据。 2.如果从本地缓存可以获取数据直接返回 3.如果从本地没有获取那么直接请求HTTPDNS服务器选择一个IP列表中一个发起HTTP请求。 4.HTTPDNS 服务会有智能调度和健康检查等接口。
HTTPDNS的缓存设计
为了提升读取速度有自己的本地缓存。但是缓存的失效和更新如何保证呢。 对于HTTPDNS来说就是手机客户端、DNS缓存、HTTPDNS服务器。 更新缓存的方式其实就是两种一种是同步更新。也就是cache-Aside机制。先读取缓存如果失效读取源数据然后设置更新缓存。 另一种是异步方式也就是快失效的时候异步起一个线程进行处理。本质上来说DNS缓存也需要有数据的持久化能力保证数据不丢失。
HTTPDNS 的调度设计
调度设计其实就是需要根据不同的后端服务应用给出一个优先响应列表比如根据服务的容错率、健康检查、所在宿主机的配置、服务所在区域等进行调度分配。
传统的 DNS 有很多问题例如解析慢、更新不及时。因为缓存、转发、NAT 问题导致客户端误会自己所在的位置和运营商从而影响流量的调度。 HTTPDNS 通过客户端 SDK 和服务端通过 HTTP 直接调用解析 DNS 的方式绕过了传统 DNS 的这些缺点实现了智能的调度。