上一期在解释边缘计算的时候,提到了一个概念——CDN。
CDN是Content Delivery Network的缩写,翻译为内容分发网络,主要场景是静态资源的下发。
它是在1998年由Akamai公司提出。这种技术主要强调的是缓存技术!这里的服务器也可以称为缓存服务器。CDN通常是大量分布式系统跨互联网部署在位于多个地区的多个数据中心。该技术的主要目的是,向最终用户这个群体分发内容,并加快分发。
在物联网逐渐普及的背景下,动态内容已日益急剧增多,可缓存内容的数量将大大减少。随着互联网用户增多,数据种类会多得多,静态网站在整个消费者生态系统中所占的比重会非常小。内容会在互联网上更加分布,使得真正的源服务器这个概念失效。
简单一点讲,我们可以把CDN简单理解为分布式缓存。CDN服务商会把CDN节点分布在各个区域,并通过DNS技术让你请求到邻近的CDN节点。
CDN是如何组成的?
中心节点
中心节点包括CDN网管中心和全局负载均衡DNS重定向解析系统,负责整个CDN网络的分发及管理。中心节点就像仓配网络中负责货物调配的总仓,而边缘节点就是负责存储货物的各个城市的本地仓库。
边缘节点
CDN边缘节点主要指异地分发节点,由负载均衡设备、高速缓存服务器两部分组成。
- 负载均衡设备负责每个节点中各个Cache的负载均衡,保证节点的工作效率;同时还负责收集节点与周围环境的信息,保持与全局负载均衡DNS的通信,实现整个系统的负载均衡。
- 高速缓存服务器(Cache)负责存储客户网站的大量信息,就像一个靠近用户的网站服务器一样响应本地用户的访问请求。通过全局负载均衡DNS的控制,用户的请求被透明地指向离他最近的节点,节点中Cache服务器就像网站的原始服务器一样,响应终端用户的请求。因其距离用户更近,故其响应时间才更快。
CDN能解决什么样的问题?
1、高延时,距离服务器较远的用户访问资源延时较高。比如你的服务器在中国,如果美国用户访问就会有较高的网路延迟。
CDN服务会根据你的IP定位,返回一个与你邻近的CDN节点IP。例如北京的用户就由北京节点返回IP,这样用户就无须访问可能更长路由的源站,这样就解决了延迟高的问题。
2、带宽瓶颈,大量用户访问静态资源(图片,视频,css等)导致的服务器带宽拥塞。比如你的服务器上存了一个视频,然后同时有几十个用户来看,对于一般网络配置的服务器都是受不了的。
得到IP之后用户会去对应的CDN节点获取资源,如果当前节点(边缘服务器)存在这个资源则直接返回。如果不存在或已经过期CDN节点会先向你资源存储的地方下载这份资源再返回。自此这个边缘节点缓存了这份资源,在有效期内如果有其他北京用户来访问则直接由边缘节点响应而无须回源。这样就解决了带宽瓶颈的问题。