Google Fiber CDN技术分析

1. 视频资源和带宽

20Mbps码率的视频为例,每秒钟视频占用存储空间为2.5MB,每分钟为150MB。以长度为120分钟长度,码率为20Mbps的高清电影来说,整个视频文件的容量为18GB,如果按照3分钟长度将整个视频划分,将得到40450MB大小的视频文件;如果按照1分钟长度切分视频,将得到120150MB大小的视频文件。由此可见,与传统CDN不同,Google Fiber CDN主要面向大型文件提供存储和缓存功能。

2. 资源定位

Google Fiber的CDN更像是一个CDN运营商服务,不仅给Youtube提供高清视频缓存,更需要给NetFlix,hulu等外部视频内容网站提供高清视频缓存。

通常,CDN运营商借助于智能DNS技术为内容商提供内容缓存和加速服务。内容提供商将资源文件所属域名的CNAME配置为DNS服务商的域名。用户在访问内容资源时,实际的访问请求被定向到CDN服务商的域名内。CDN服务商通过智能DNS将用户请求定向到CDN节点。

虽然我本人身在大宋,从未有肉身翻墙的机会。但是可以料想,Google Fiber给外部视频内容提供商提供的CDN服务不会不借助DNS实现请求重定向。当用户请求被调度到Google Fiber CDN之后,最大的问题成为,如何处理这么大流量的请求,如何有效的构建CDN节点内部和对外的网络流量。

3. Google Fiber CDN节点基本架构猜想

看好了,这里只是猜想,猜错了我不负责哦!

如第一节所述,高清视频属于流量密集型应用。如果CDN节点采用负载均衡+缓存的传统结构,CDN节点内部将产生大量无效的内部流量。用户请求一个视频资源文件,CDN节点需要将资源先从缓存节点发送到负载均衡节点,然后再由负载均衡节点将内容返回给用户。而缓存节点和负载均衡节点之间的流量占用了CDN节点内部大量的带宽资源。

CDN内部流量

如上图所示,如果采用传统LB+Cache的CDN结构,Cache和LB之间将产生大量无效流量,从而降低了CDN节点整体吞吐能力。

大流量CDN节点,最佳的做法应该是让用户请求直接定位到资源文件。但外部内容提供商和CDN服务商松耦合的业务和技术架构决定了内容商不可能直接把CDN节点资源服务器IP地址告诉用户,这该肿么办?

猜想:Google Fiber CDN采用HTTP Redirect实现对内容资源的定位和负载均衡。基本架构如下图所示:

Google Fiber负载均衡

4. 其他问题

1)CDN节点建在哪里?

答:最靠近小区的地方。

2)还有什么东西没说?

答:Google Fiber CDN whole picture;CDN资源和流量的调度;Brad大神新写的Groupcache在Google Fiber里是如何应用的。以上几个问题等到有一天真要在我大宋建立Google Fiber的时候再回答吧。

此系列文章到此结束。

发表评论

电子邮件地址不会被公开。 必填项已用*标注