DNS 服务器
我们知道如果使用IP地址进行访问网站,很难进行记忆,所以DNS的作用是将域名转换成对应的IP地址。如果全世界都使用同一台DNS服务器,那么DNS服务器本身需要保证服务的高可用、高性能,以及分布式等。最好的方式就是分层。
根DNS服务器:返回顶级域名DNS服务器的IP地址
顶级域DNS服务器:返回权威DNS服务器的IP地址
权威DNS服务器:返回相应主机的IP地址。
DNS解析流程
为了提升DNS解析的整体性能,就需要进行DNS缓存,会先问本地DNS是否有,有的话就直接返回。所以一般为什么我们本地可以自定义配置对应的 域名 ip 就可以使用呢。如果没有的话就会问根服务器,根服务器说我告诉你顶级域名服务器的地址,顶级域名服务器说我告诉你权威域名服务器的地址。就这样客户端就获取了baidu.com的IP地址。
负载均衡
DNS除了能做域名解析 还可以做什么呢,另一个就是负载均衡,在实际的开发过程中,应用程序可能连接的数据库都是具体的阿里云地址,这样当我们想切换数据库的ip地址时,应用程序是不需要进行修改,只需要在DNS端调整以下就可以。
同样的思路,在应用层面,客户端访问服务器端,采用域名的方式,其实就可以进行负载均衡配置,通过一个具体的域名,服务端进行分发。
应用场景
DNS 访问数据中心中对象存储上的静态资源
小结
DNS的作用是将域名转换成IP地址,而查询过程是递归的方式。DNS还可以做负载均衡。