Autumn_Ning_Blog
Autumn_Ning_Blog copied to clipboard
CDN
什么是CDN
给出一段 官方的介绍
CDN的全称是Content Delivery Network ,即内容分发网络,是位于网络层和应用层之间的网络应用。
这个的目的是通过在先用的Internet中增加一层新的网络架构,能够通过分布式的服务器集群来改善internet上的服务质量,提高网站的承载能力和提升用户体验
CDN的作用
在了解CDN的作用之前,我们先说说看在传统互联网中存在的问题
传输延迟
网站对用户的访问响应在网络上主要取决于三个部分:
- 网站服务器接入internet的链路所能提供的带宽,也就是通常说的网站接入带宽
- 网络中从网站的接入点到最终用户的接入点之间的传输路径,由于internet是由很多网络组成的,所以这一部门经常是跨网络的,所以在网络中的传输延时和链路拥塞会影响数据的传输速度
- 最终用户接入internet的方式
内容集中放置
在大部分情况下,现有网络上的内容都采用内容集中式放置,这样方便对网站的管理和维护,以及内容的更新,但是对于互联网的用户来说,他们是分布在全球的,所以他们很收当前的网络环境影响,访问效果也得不到保障 而且当特殊时期,如:开展活动等。突然导致访问量的剧增,那么就会导致网站的带宽资源的紧张,服务器的压力剧增。但如果平时的情况下,去扩展资源,增加机器,又会导致大量的资源浪费。
那么,CDN能解决什么问题呢?
CDN技术通过将网站的内容发布到最接近用户的网络“边缘”的方法,使用户可以就近取得所需的内容,解决网络拥塞的情况,提高了用户访问网站的响应速度。
而且CDN包括:分布式存储、负载均衡、网络请求的重定向和内容管理等几个部分组成,可以通过访问用户的来源和服务器负载等网络性能的分析,从而以更适合的方式来响应用户的请求
CDN的原理
CDN采用智能路由和流量管理技术,及时发现能够给访问者提供最快响应的加速节点,并将访问者的请求能够转发到该加速的的节点,由该加速节点提供内容服务,当用户访问使用CDN服务的网站时,域名解析请求最终由重定向DNS负责处理。它会先预定好一个策略(内容类型、所在地域、网络负载状况等),然后将当时最快能够响应用户的节点地址提供给用户,使用户可以得到快速的服务,同时它会和其他的CDN节点保持通信,搜素各节点的健康状态,确保不会把请求分发到”不健康“的节点上。
使用CDN服务之后,用户的访问过程:

1) 用户在浏览器中输入要被网站的域名,浏览器向本地DNS 服务器请求对该域名的解析; 2)本地DNS 解析服务器到根DNS 解析服务器上找所授权DNS 记录,根DNS返回给本地DNS服务器一条CNAME的记录; 3)本地DNS服务器根据CNAME的内容向授权DNS服务器进行请求,授权DNS服务器根据GSLB将响应速度最快服务器地址返回域名给本地DNS; 4)本地DNS再将得到的IP地址返回给浏览器; 5)浏览器向节点服务器发出数据请求,节点服务器响应客户浏览器的请求返回数据; 6)客户端得到由CDN节点服务器返回的数据以后显示出来并完成整个浏览的数据请求过程
当然第一次解析的时候比较慢,之后localDNS 会缓存一个TTL时间(300s)ip和域名之间的映射,但是超过这个时间,缓存就会释放了。
觉得这篇文章帮助了你,请star或watch本项目把~♪(^∀^●)ノ