CDN属于专业性较高的知识,需要进行详细的介绍,今天来看一看CDN用户请求调度和内容分发有哪些方式?
一、CDN用户请求调度
通常情况下, CDN 用户的内容访问请求调度,分为两个层次:全局调度和本地调度。
(1) 全局调度
全局调度的主要目的是根据用户所在地理位置不同,在各个节点之间进行分析决策,将 用户请求转移到整个网络中最靠近用户的节点。
全局调度方式目前主要有基于 DNS 调度方式和基于应用层重定向调度两种方式。
(2)本地调度
和全局调度系统相比,本地调度通常被限制在一定地区范围内,并且更加关注 CDN 服务器设备具体的健康状况与负载情况,根据实时响应时间,将任务分配给最适合的服务器设备进行处理,进行更精细粒度的调度决策,实现真正的智能通信和发挥服务器集群最佳性能。 本地调度的意义在于充分利用现有设备,有效地解决了用户访问请求过多引起的系统负载过重的问题。
二、CDN 内容分发
互联网应用的响应时间通常是由网络带宽、路由时延、网站处理能力以及物理距离等因素决定的。其中,物理距离过长对互联网应用的响应时间有最直接的影响,会使响应速度变得十分缓慢。
因此,利用 CDN 技术把最热的内容分发部署到各地的节点上。
内容的分发有 Push 和 Pull 以及混合分发共 3 种实现方式。
(1) Push 方式
Push 是一种主动分发的方式。通常, Push 由 CDN 内容管理系统发起,将内容从源站或 者中心内容库主动分发到各边缘的 CDN 节点,分发的协议可以采用 HTTP、 FTP 等。通过 Push 分发的内容一般是比较热点的内容,这些内容通过 Push 方式预先主动分发到边缘CDN 节点,可以实现有针对性的内容提供。对于 Push 分发需要考虑的主要问题是分发策略,即在什么时候分发什么内容。 一般来说, Push 分发是一种智能的主动分发策略。 可以通过用户访问的统计信息(例如, 热度级别排序信息)和己经预先设定的内容分发的规则,智能地决定是否进行内容主动分发。 并且可以根据用户历史访问数据等,建立回归模型,对于智能预测用户可能会大量访问的内容,将其提前推送到边缘节点。
(2) Pull 方式
Pull 是一种被动的分发方式, Pull 分发通常由用户请求驱动。 当用户请求的内容在本地 的边缘 CDN 节点上不存在(未命中)时, 该 CDN 节点启动 Pull 方式从内容源或者其他 CDN 节点实时拉取内容, 并且在 Pull 方式下,内容是按需分发的。 在实际的 CDN 系统中, 一般两种分发方式都支持,但是根据内容的类型和业务模式的 不同,在选择主要的内容分发方式时会有所不同。通常, Push 方式适合内容访问比较集中的情况,例如,热点的流媒体视频内容: Pull 方式比较适合内容访问分散的情况。
(3)混合分发方式
混合分发方式就是 Push 与 Pull 分发方式结合的一种机制。混合分发方式有多种方案, 最常见的混合分发机制,是利用 Push 方式进行内容预推,后续则使用 Pull 方式拉取。 混合分发方式能够根据当前内容分发系统中的内容服务状况,采用推拉的方式动态地调 整内容在内容分发系统中的分布,对于热点内容主动将其推送(缓存)到边缘节点。