前情概要:
- 我们知道 DNS 的两项功能,第一是根据名称查到具体的地址,另外一个是可以针对多个地址做负载均衡,而且可以在多个地址中选择一个距离你近的地方访问。
- 然而有时候,DNS也会出现偏差,没有指定离你近的ip,而指向了一个远处的ip。
1、本地的 DNS 服务器
传统 DNS 存在哪些问题?
1.请求会先连接到运营商本地的 DNS 服务器,但是本地的DNS会有自己的小九九
1. 域名缓存问题
它可以在本地做一个缓存,也就是说,不是每一个请求,它都会去访问权威 DNS 服务器,而是访问过一次就把结果缓存到自己本地,当其他人来问的时候,直接就返回这个缓存数据。
上述问题,如果本地缓存没有及时更新的话,则会出现问题。
有的运营商会把一些静态页面,缓存到本运营商的服务器内,这样用户请求的时候,就不用跨运营商进行访问,这样既加快了速度,也减少了运营商之间流量计算的成本。在域名解析的时候,不会将用户导向真正的网站,而是指向这个缓存的服务器
很多情况下是看不出问题的,但是当页面更新,用户会访问到老的页面,问题就出来了。
再就是本地的缓存,往往使得全局负载均衡失败,因为上次进行缓存的时候,缓存中的地址不一定是这次访问离客户最近的地方,如果把这个地址返回给客户,那肯定就会绕远路
2.域名转发问题