在互联网领域有一个“8秒定律”,用户访问一个网站时,如果等待网页打开的时间超过8秒,会有超过30%的用户放弃等待,那么,影响网站的访问速度和并发访问量的因素无非就是互联网的连接架构(第一公里和最后一公里)和CDN的流量传输功能两点。
首先,我们来看一下互联网连接架构,众所周知,“第一公里”是指万维网流量向用户传送的第一个出口,是网站服务器接入互联网的链路所能提供的带宽,这个宽带决定了网站能为用户提供的访问速度和并发访问量,那么问题来了,如果业务繁忙,用户的访问数太多,就会造成拥塞,网站便会失去大量用户。
还有“中间一公里” 和“最后一公里”分别代表互联网传输和万维网流量向用户传送的最后一段接入链路,由互联网的架构看来,不同网络之间的互联互通带宽,对任何一个运营商网络的流量来说,占比都比较小,因此这里通常都是互联网传输中的拥堵点(运营商互联互通的问题)。
其次,我们来了解一下什么是CDN?
CDN 的全称是(Content Delivery Network),即内容分发网络,CDN的主要目的是通过在现有的Internet中增加一层新的CACHE(缓存)层,将网站的内容发布到最接近用户的网络”边缘“的节点,使用户可以就近取得所需的内容,提高用户访问网站的响应速度。从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等原因,提高用户访问网站的响应速度。
简单的说,CDN 的工作原理就是将您源站的资源缓存到位于全球各地的 CDN 节点上,用户请求资源时,就近返回节点上缓存的资源,而不需要每个用户的请求都回您的源站获取,避免网络拥塞、缓解源站压力,保证用户访问资源的速度和体验。
CDN有内容路由、内容分发、内容存储、内容管理这四大关键技术,极大地提高了图片加速、https带证书加速、下载加速、流媒体加速、企业应用加速、手机应用加速,大大的提高了用户服务质量。在这众多的服务中,流媒体可谓是其中一大项,我们就来对比一下流媒体CDN与其他CDN的差别。
流媒体业务是一种对实时性、连续性、时序性要求非常高的业务,无论从带宽消耗上还是质量保障上来说,对best-effort的IP网络都是一个不小的冲击
– 高带宽要求
– 高QoS要求
– 组播、广播要求(目前IP网络无法实现端到端的组播业务)
播放一个视频分为以下四个步骤
– Access
– Demux(音视频分离)
– Decode(解码解压缩)
– Output
在流媒体服务系统中,主要关注的技术是对不同流媒体协议、不同编码格式、不同播放器、不同业务质量要求等的适应。
流媒体CDN与Web CDN的对比(业务差异)
主要差异点 | 流媒体CDN | Web CDN |
内容类型 | 大文件、实时流、QoS要求高 | 小文件、固定大小、QoS要求低 |
用户行为 | 拖曳、暂停等播放控制 | 下载后浏览 |
内容管理 | 内容冷热度差异明显(对命中率要求高),内容生命周期长 | 内容冷热度差异不明显,内容生命周期短 |
回源要求 | 回源比例小 | 回源比例大 |
现在已经投入商用的CDN系统,基本都是同时提供Web CDN能力和流媒体CDN能力的,而且这两种能力的实现在系统内部几乎都是互相隔离的,从调度系统到节点设备都没有交叉互用。
流媒体CDN与Web CDN的设计差异
主要差异点 | 流媒体CDN | Web CDN |
Cache | 支持多种流化协议,硬件配置大存储、高I/O | 支持多协议(HTTP、FTP等)硬件配置小存储、高性能CPU |
负载均衡 | DNS+HTTP重定向方式 | DNS方式 |
内容分发方式 | 热片PUSH,冷片PULL | 全PULL方式 |
组网 | 多级组网,可能要求组播、单播混合组网 | 两级组网 |
流媒体CDN的Cache设备与Web Cache无论在软件实现还是硬件要求上差异都很大,我们很少看到这两种业务共用同一台设备,负载均衡设备在进行用户访问调度时,会综合考虑很多静态的、动态的参数,包括IP就近性、连接保持、内容命中、响应速度、连接数等。但没有哪个CDN会考虑所有参数,而是会根据业务特点进行一些取舍,否则均衡系统就太复杂了,而流媒体CDN在进行用户访问调度时,会更多考虑内容命中这一参数。
在互联网领域中,CDN的存在无疑是方便了众多网友的上网服务,不仅体现在图片视频的高速缓存、保障上网在线并发的流畅性,还能让游戏IP用户玩游戏的网速保持稳定顺畅,CDN技术在网络堵塞问题上起了至关重要的作用!