不用备案cdn加速服务
甚么是CDN呢?中文翻译过来就是内容分发网络。
没有CDN的时候,不管哪里的用户访问我们的站点,都需要到我们数据中心来获得数据(单纯的DNS进程)。而有了CDN以后,用户根据自己的地理位置会选择距离自己最近的缓存数据中心来获得数据。不会每次都到源站(利用服务器)来获得数据。为了理解这个进程,我们是如果在完全的DNS进程中,实现CDN的呢?
用户访问距离自己最近的机器,速度肯定是最快的。并且网站的加载速度越快那末用户体验越优秀,你的网站更会遭到对利用户的爱好。
CDN是一个典型的散布式架构,它通过增加数据的冗余,一方面保障在大流量眼前有多台服务器能够提供相同的数据;另外一方面当部份机器出现故障时,可以进行故障转移。
如果大家自己买过云服务就知道,带宽每增加一点价格就飙升。使用CDN后,由于流量被分流了,那末原机器带宽要求自然就下降了。固然带宽费用下降了,你还需要为CDN付费。
CDN可避免的攻击:该攻击就是通过巨大流量打满你的带宽,让你丧失服务能力。那末由于CDN的存在,它将巨大的流量进行了分流。那末源站压力自然小了。这其实也是高并发需要斟酌的。
CDN目前不单单是只能缓存静态的HTML、CSS、JS、VIDEO,现在还有能够缓存动态接口内容的CDN,这为我们在架构高并发的服务时,提供了更多的手段进行选择。
在介绍DNS的时候,介绍了客户端是如何获得到IP地址的。那末有了CDN以后,这个进程该怎样处理呢?
CDN其实就是放在利用服务器与用户之间的一层缓存。所以如果使用DNS的时候,返回给客户真个是CDN机器的IP而不是利用的IP,那末自然就走到了CDN机器上。
为了实现上述目的,我们会为该域名配置一个?(大家注意上面提到的CNAME与A记录的优先级),那末这个CNAME是终究如何解析到对应的CDN机器呢?其实流程与DNS解析是一样的。当发现一个域名设置了CNAME时,DNS解析器会继续解析这个CNAME别名(其实就是另外一个域名)。对这个CNAME解析的时候会用到全局负载DNS解析,它会根据访问者的地理位置信息返回对应的IP(CDN机器的IP)。因此客户端实际上得到的是距离它最近的CDN机器的IP地址。
如果说用户访问CDN,但是CDN上没有对应内容会如何解决?此时CDN机器其实会根据本身专用的DNS解析服务,根据域名得到源站的IP,然后向源站发送要求获得数据,并把这些数据缓存到本地,方便后续使用;同时返回本次结果,完本钱次要求的访问。