cdn学习 笔记(1)

来源:互联网 发布:ubuntu 拼音打字不对 编辑:程序博客网 时间:2024/04/27 14:17

CDN实现关键技术

cdn实现加速原理上是将用户的请求路由到cdn节点上;将原站点的数据拉取到cdn节点上并做缓存;以此实现对用户站点的加速。实现这些功能主要是使用四大关键技术(内容路由技术、内容分发技术、内容存储技术、内容管理技术)。

1. 内容路由。

    内容路由是由CDN负载均衡系统实现的。作用是将用户请求导向最佳节点!(可以是最近节点,也可以是延时最低节点等)。    负载均衡的准确性跟效率直接决定整个cdn的效率。    又分为全局负载跟局部负载。    下面说下我的理解,全局负载必然是精华所在,负责在全网范围内将用户的请求定位到最近的节点(或者是区域)。当然这里定位的依据可以是基于DNS的,也可以是基于http的还有ip欺骗的。(具体实现不太懂==我还要研究下)。    而局部的话是在特定的范围内找到最合适的节点,所以他的决策依据就是节点的安全性、负载情况、以及支持的媒体格式等等。

2. 内容分发。

    内容分发是指从源站发送到CDN边缘的catch的过程。两种主流的分发技术:push(分发),pull(回源)。    push是一种主动分发的技术,由内容管理系统发起,通过http/ftp等协议,发到边缘的catch节点上。一般是推比较热点的,可以实现有针对的内容提供。需要处理的主要问题是分发策略,可以由cp(内容提供商)或者cdn管理人员或者智能分发(根据用户访问记录)。    pull是一种被动的分发技术,pull分发通常由用户请求驱动。在pull方式下,内容的分发是按需的。    ![分发流程](http://img.blog.csdn.net/20160928174256649)

3.内容存储

    CDN的存储需要考虑两个方面,一个是内容源的存储,一个是catch节点中的存储。    对内容源来说,内容吞吐量大,通常采用海量存储架构。    catch的存储是catch设计的关键问题,需要考虑的因素包括功能和性能两个方面:在功能上包括对各种内容格式的支持、对部分缓存的支持,在性能上包括支持的容量、多文件吞吐率、可靠性、稳定性。

4.内容管理

    内容管理强调的是内容进入catch 之后的内容管理,在这里称作本地内容管理。本地内容管理的主要目标是提高内容服务的效率,提高本地节点的存储利用率。    通过本地内容管理,可以在CDN节点实现基于内容感知的调度,通过内容感知的调度,可以避免将用户重定向到没有该内容的Cache设备上,从而提高负载均衡的效率。通过本地内容管理还可以有效地实现在CDN节点内容的存储共享,提高存储空间的利用率。
0 0