CDN学习
CDN介绍
CDN也就是内容分布网络(Content Delivery Network),它是构筑在现有Internet上的一种先进的流量分配网络。其目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络“边缘”,使用户可以就近取得所需的内容,提高用户访问网站的响应速度。有别于镜像,它比镜像更智能,可以做这样一个比喻:CDN=镜像(Mirror)+缓存(Cache)+整体负载均衡(GSLB)。因而,CDN可以明显提高Internet中信息流动的效率。
目前CDN都以缓存网站中的静态数据为主,如CSS、JS、图片和静态页面等数据。用户在从主站服务器请求到动态内容后,再从CDN上下载这些静态数据,从而加速网页数据内容的下载速度,如淘宝有90%以上的数据都是由CDN来提供的。
通常来说CDN要达到以下几个目标:
- 可扩展(Scalability)。性能可扩展性:应对新增的大量数据、用户和事务的扩展能力。成本可扩展性:用低廉的运营成本提供动态的服务能力和高质量的内容分发。
- 安全性( Security)。 强调提供物理设备、网络、软件、数据和服务过程的安全性,(趋势)减少因为DDoS攻击或者其他恶意行为造成商业网站的业务中断。:
- 可靠性、 响应和执行(Reliability、 Responsiveness 和Performance)。服务可用性指能够处理可能的故障和用户体验下降的问题,通过负载均衡及时提供网络的容错机制。
CDN架构
这个流程其中包括了DNS域名解析的过程,通常是首先去Local DNS Server 请求,如果本地有ip对应的域名缓存,则直接获得对应的IP,但是如果本地没有缓存,那么就去Root DNS Server请求,然后返回一个对应域名的服务器地址,然后再向域名服务器(Name Server)发起请求,然后域名服务器返回对应的IP,这样用户就可以通过域名解析到对应的ip。