受到一位朋友的鼓舞之后,我们决定分享一下我们在2016年里约奥运会的经历。我们将带有5.5TB的1056处理器(CPU)放置到了这个城市的东南部。

里约奥运会的直播流媒体基础设施是2014年足球世界杯架构的增强版。采集点利用nginx-rtmp来输出 RTMP,而后将RTMP分割。额外的一层能够提供更多的资源共享和更强大的安全性。

分割器会在python程序的监控下利用EvoStream制造出了HLS,然后python程序就会将视频数据和元数据发生到Cassandra集群中用作序列。
现在让我们转到用户的角度来看一下。在用户想要*放播**一个视频的时候,需要一个视频块,请求从前端发送一份能够提供缓存,安全,负载均衡使用的文件。
网络提示:
现代网络卡通常会提供多个队列:从XPS,RPS到特定的CPU样样都有。

在前端没有申请板块的时候,它会反馈到使用nginx和 lua生成*放播**列表和cassandra视频块的后台。
缓存提示:
使用内存缓存:双层缓存解决方案,用tmpfs来缓存热点内容,把老旧内容放到磁盘上可以降低CPU负载、磁盘IOPS和响应时间。
这是从宏观角度来考虑的,当然我们也提供了很多小型的服务,比如说分享生活经验、电台节目指南、ISP带宽的推荐用法、地理围栏及等等。当然我们也会在 tsuru上发展这些服务。在不久的将来,我们可能会调查一些dash之类的自适应流格式,探索一下其他的输入类型(不仅仅是RTMP),增加 bitrates的数量,为农场及附近的用户提供更好的使用体验。
加速会:加速你对世界的理解,内幕全在这里!请关注加速会微信公号:jiasuhuihao
加速会主编微信:leaderweb