域名系统
域名系统(英文:Name,缩写:DNS)是互联网的一项服务。它充当一个分布式数据库,将域名和 IP 地址相互映射,使人们更容易访问 。
简单来说,我们在访问某个网站的时候,通常是输入一个域名,比如:,而不是输入一个IP来访问淘宝网站。一个比较简单的原因是我们很难记住IP。
DNS是将域名转换为IP的解析过程。这么说有点简单,因为实现这个过程还有很多技术和原理。
将域名和 IP 地址相互映射的分布式数据库。通过这个DNS解析,找到用户输入的域名对应的IP地址。
那么DNS解析的流程是怎样的呢?
DNS解析过程
整个过程比较漫长。如果某个新域名访问速度很慢,可能不是网络原因。可能是整个解析过程没有命中就执行了,耗时比较长。
智能 DNS
什么是Smart DNS:Smart DNS允许用户在同一线路上访问最近的服务器
智能DNS,聪明的地方就是可以匹配用户的线路(联通)和位置,比如:CDN(一个CDN应用下面会详细写)服务在国内有很多节点,也可以支持很多线路,实现智能DNS解析,可以匹配用户IP,找到用户IP所在的线路和位置。
重点是这个智能DNS系统内置了一套完整的ip库cdn加速原理图,可以快速分析出用户的ip、全国城市街道、线路是什么对应的信息。在网络节点中找到对应的节点,比如深圳,然后找到离深圳最近的节点的IP。智能DNS解析还可以有效保证CDN加速的效果。
例如:
阿里云域名解析配置主机IP和解析线路,告诉DNS服务器这个IP响应的是哪一种线路。比如有两台服务器,一台解析电信线路。对于中国联通,默认解析行是用户不是中国联通或电信,主机由该主机处理。如果再智能一点,这个配置就不用做,ip输入就可以知道是哪一行了。让我们详细谈谈CDN
内容分发网络
CDN的全称是 。CDN是建立在网络之上的内容分发网络,依托部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,让用户就近获取想要的内容,减少网络拥塞,并改善用户访问。响应速度和命中率。CDN的关键技术主要包括内容存储和分发技术。
“CDN的意义是防止网络拥塞成为互联网发展的障碍”
看一张示意图(图片为参考):
CDN提供的服务优势原理有点类似于淘宝和京东的关系:
淘宝类似于没有CDN的状态。不管你是上海还是北京的用户,如果你从某家店铺购买产品,就是收货地址,是淘宝卖家的货源。
京东运营着类似的 CDN 加速状态。如果您是上海用户,它将从上海和上海最近的仓库发货给您。同样在北京,速度自然也快,当天或次日到达。
CDN的应用范围 CDN的优势
国内特点:南方电信和华北联通,所以不同地区的用户使用相对的运营商网络,访问速度可能会比较慢。CDN加速同时支持电信、网通、联通等线路,满足北方用户使用联通网络,南方用户使用电信网络,减少网络交换和结算造成的通过跨网络访问。
两个CDN核心:缓存和回源
缓存:
ps:squid是一个代理缓存服务器,支持FTP、http、http等网络协议。它与一般代理缓存软件的区别在于它使用一个单独的、非模块化的、I/O驱动的进程来处理所有客户端请求)
回到源头:
当用户访问资源时,如果解析后的CDN节点没有缓存响应的内容,或者缓存已经过期,会返回源站获取。如果没有人访问,它不会主动去源站获取
关键技术:
CDN 和静态资源
静态资源本身具有访问频率高、流量大的特点,所以静态资源的加载速度一直是前端性能非常关键的指标。CDN是加速静态资源的重要手段。
比如上面一张淘宝的图片,你会发现淘宝几乎所有的静态资源都是阿里CDN加速的:
!0-..jpg_.webp
当你打开一个网站时,几乎所有的静态资源都是从 CDN 服务器请求的。我们项目中的图片等静态资源都去七牛云的CDN。
另外,将静态资源和主页放在不同的域名下是非常有必要的。一个原因是它们与域名密切相关。同一个域名下的所有请求都会携带同一个,但是静态资源不需要携带和存储认证信息,可以避免,有效降低主域名的访问压力。
CDN 的缺点
凡事都有两面,CDN有这么多优点,当然也有缺点
如果网站更新,CDN边缘节点数据没有更新,可能会导致用户获取最新信息的延迟,用户看不到最新内容。对于这个问题,一般采用手动更新缓存的方法。每个提供商在后端都有一个手动更新的地方,所以这个缺点不如 CDN 的优点那么重要。
谈到CDN内容的缓存过期时间,你应该根据你项目的实际情况,设置一个合理的缓存过期时间,可以是5小时、一天、一周、一个月甚至更长。
总结
以上就是DNS和CDN的一些应用原理。强烈建议在项目中合理使用CDN加速服务,以提高项目的访问质量,改善用户体验,除非您希望用户访问您的网站并等待5秒。点击右上角的 X 当然,CDN 只是手段之一。
如果要使用CDN服务,一般都是去提供商那里购买服务,除非大企业自己搭建,否则成本太高。至于你要选择哪个提供商,市面上有很多,比如阿里云、腾讯云、七牛云、360等等。
最后再谈一个比较重要的问题,购买的CDN服务采用哪种计费方式。市面上一般提供两种计费方式: