每天产生这么多的视频,头条的存储服务器得多大空间?会不会有存储极限?
我用实验来回答这个问题。
一个视频有多大?
以头条系的西瓜视频为例,这里,我就用我自己发的一个小视频为例,时长58s。
我们先来看看这个视频有多大?
用Chrome浏览器打开视频链接(防止平台判定为广告,我就不放链接了),按F12出现调试模式,可以看到整个页面里图片、js、css等各种元素文件的加载情况,包括这个元素所在的服务器IP地址、域名、类型、以及我们所关注的文件大小。
如下图,瞅见没?
(有问题私聊我)如上图所示,文件类型为media,大小为1.5MB。
至此,我们得到答案,50s的视频,大小为1.5MB。
(实际上,受码率和时长影响可能会有波动,这里暂且算是个平均值)接下来看第2个问题。
视频有多少个?
在正式回答这个问题之前,先来了解一下视频的热度。
视频有冷热之分,遵循“28”定律,即20%的热门视频吸引80%的用户流量。
很显然,热门视频是视频网站方关注的重点(像我举的这个例子,点击量就很惨,妥妥的冷门资源)。
为了照顾用户的访问感知,网站方一般会把热门视频复制多个副本,存放在多个服务器上。
想象一下,最近有个热门电视剧《庆余年》,如果没有副本全国只有一个服务器,上亿的用户都来访问这个资源,大声地告诉我,这个视频卡不卡顿?
答案是,不仅是卡,网站肯定瘫痪,拒绝访问。
这里就有个关键点,即:热门视频会复制多份,冷门视频可能只有1份。
那视频所占的空间应该是:单个视频大小*副本份数。
那这个视频有几个副本呢?
同样实验走起:点击对应视频资源,查看header信息,如上图所示,这个资源的域名是v1-default.ixigua.com,所在的服务器IP是223.111.19.3。
看不懂?
别急。
简单普及下,域名和IP存在对应关系,这种对应关系由DNS来完成(我的其他文章里有普及过)。
网站方的调度都是通过域名来调度的,而不是通过IP地址。
为啥呢,一是IP多难记啊,一串数字;二是IP经常变,而域名稳定。
总之,记住一句话,域名是网站方调度的最小单位。
那我们来看看这个域名对应几个服务器?
记住一个命令nslookup:这里我测试的网络环境是江苏移动的网络,所以dns服务器是移动的dns地址,数一下有多少个IP?
一共13个。
至此,得出一个结论:我这个视频在江苏移动网络内有13个副本。
同样电信可能也会有13个,大家可以自行测试。
这里,我只想阐述一个副本数量的概念。
具体容量大家可以自行估算一下。
很自然,会有第3个问题:这些视频存放在哪儿?
同样实验走起,我们看看这个Chrome抓包上能发现点啥?
看见没,有个jiangsuyidong Cdn字样(我理解是,江苏移动CDN)。
没错,视频是放在CDN网络上承载的。
这里涉及一个CDN的概念,简单来讲就是,网站方会把视频内容复制多个副本,放在多个CDN网络节点中,在南京放一份,在苏州也放一份。
这样一来,南京的用户就访问南京的节点,苏州的用户就访问苏州的节点,互不干扰,确保用户访问离自己最近的网络服务器,这样就保证了视频不卡。
除了上面提到的江苏移动CDN,国内还有网宿、华为、七牛云、金山云等CDN厂家。
通过我的抓包分析,今日头条视频(含抖音、西瓜视频),分布在中国移动、网宿、金山云、白山云、阿里云等CDN网络承载。
写在最后其实在我看来,储存技术的发展,容量大小已不是关键问题(看看各个网盘厂家动不动就送几个T);带宽问题是影响网站方成本投入的重要因素。
另外,最关键技术是网站方的视频内容如何与CDN厂家的承载网络协同和调度。
诚邀您关注,随手一关注,一起聊聊互联网那些事。