直播CDN架构随想
互联网内容载体变迁历程,文字——图片/声音——视频——VR/AR——……从直播1.0秀场时代(YY)、2.0游戏直播(斗鱼、虎牙、熊猫)到如今全民直播3.0泛生活娱乐时代(映客、花椒),国外直播App(Meerkat 、Periscope),随着 VA/AR/MR 提出的沉浸式视听体验,直播4.0时代很快就能到来。
在这个全民娱乐的时代,直播已经火得不要不要的,各大公司都有自己的直播产品。本文主要从直播的一些基本知识,一步步打造直播 App。直播那么火的背后有什么样的技术支撑呢?
本文试图对当前火热的直播系统的传输架构做一个分析,希望可以对从对问题的思辨中可以得到一些启发。
http://geek.csdn.net/news/detail/112262 《从 0 到 1 打造直播 App》 这篇文章更加深入的讲解了一些直播技术。
下图描述了在直播的业务场景下,北京的PC用户在进行直播,他的音视频流在网络中的传输数据流。
不同于2个或少量几个用户间的视频电话,用户和用户之间可以建立TCP连接传输音视频流;直播业务场景中的数据流必须通过直播传输网络进行传输,用户的音视频流量先要上到最近的推流服务器,再通过推流服务器传输给其他用户。单个IDC所能 支持的最大用户数为: min(IDC带宽, ∑ IDC内所有推流服务器网卡带宽)/ 音视频流量。
假如一个主播在北京进行直播(音视频消耗带宽为1Mbps),在全国有10K人进行了收看。 那么北京IDC机房需要部署多少服务器和占用多少IDC带宽才能支持呢 ? 简单计算一下,10K * 1Mbps = 10Gbps,在假设10Gb网卡的服务器CPU和内存能够处理的50%流量和包, 理论上2个万兆网卡的服务器的可以支持。 一般用户和服务器配比为 20K用户:1台服务器, 那么如果百万级的用户在全国观看直播需要多少服务器支持呢,简单计算 50台服务器即可,那么怎么安排这些服务器在全国的IDC中呢, 因为在每个IDC服务的用户不同,最合理的方式的服务器的分布方式,应该参考这个地区的人口数的比例 来确定分布的比例较为合理。


那么IDC 又要怎么选址呢? 最好参考下图中国互联网骨干网图和人口密度图,把IDC建设在人口稠密和骨干网关键节点的位置。
中国互联网骨干网图如下:

CHINANET骨干网由北京、上海、广州、沈阳、南京、武汉、成都、西安等8 个核心节点组成的核心层和其它54 个汇接节点组成的汇接层组成。全网有3 个国际出口,通过京、沪、穗的路由器完成。国际路由器与国内路由器独立设置,并负责实现各国际策略及安全性限制。CHINANET 网络节点间的中继电路采用基于SDH 和DWDM 的光纤网络,网络总带宽超过800G,国际出口总带宽已超过5000Mbp
直播CDN架构随想的更多相关文章
- 直播技术:从性能参数到业务大数据,浅谈直播CDN服务监控
线上服务的有效监控和数据收集,一直是后端服务离不开的话题.直播作为一种经典的分布式系统,监控以及数据收集更是必不可少的工作.如何对海量的服务集群有效的监控和保活,又如何抓取集群中的碎片数据中来优化服务 ...
- 分布式还是混合式? 谈CDN架构对服务质量的影响
传统分布式模型 通 常,内容分发网络(CDN)採用分布式模型.在这样的模型里, 用户的文件存放在一个源server上.而且由大量边缘server负责分发这些文件.这些边缘server的磁盘空间比較小. ...
- 简化的CDN架构分析
CDN架构的设计目标是通过复制系统资源(即Web服务器)的方式来获得高性能和高扩展性,为了能确保在海量内容下可以稳定提供高性能的服务.系统资源的复制可以在本地和地理两个尺度上进行.如果是本地复制则响应 ...
- 阿里云李刚:下一代低延时的直播CDN
在上周落幕帷幕的多媒体领域技术盛会——LiveVideoStackCon音视频技术大会上,阿里云的高级技术专家李刚进行了<下一代低延时的直播CDN>技术分享.主讲人李刚,多年关注在CDN这 ...
- [RTMP] 国内各大视频直播CDN厂商推流抢流行为分析
背景 当存在一个推流客户端正在向rtmp://xxx.com/live/yyy推流时,又有另外一个推流客户端同时对这个地址进行推流,会发生什么呢? 查阅了 Adobe RTMP Spec 发现规范本身 ...
- CDN架构以及原理分析
详见: http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp61 在不同地域的用户访问网站的响应速度存在差异,为了提高用户访问的响应 ...
- QQ视频直播架构及原理 流畅与低延迟之间做平衡 音画如何做同步?
QQ视频直播架构及原理 - tianyu的专栏 - CSDN博客 https://blog.csdn.net/wishfly/article/details/53035342 作者:王宇(腾讯音视频高 ...
- CC视频CTO栗伟:CDN系统架构及CC视频应用实践
2017 年 11 月9日,CC视频获2.08 亿元C轮融资. EGO 北京分会会员.CC视频CTO栗伟获邀作为 EGO 线上分享第三季嘉宾,与大家交流了CDN系统架构及CC 视频的应用实践. \\ ...
- 闲谈CDN网络架构
CDN也就是内容分布网络(Context Delivery Network),它是构筑在现有interent上的一种先进的流量分配网络.其目的是通过现有的Internet中增加一层新的网络架构,将网站 ...
随机推荐
- js对已经对象类型进行类型辨别
typeof() Object.prototype.toString.call(data)
- Teredo 是一项 IPv6/IPv4 转换技术
Teredo 是一项 IPv6/IPv4 转换技术,能够实现在处于单个或者多个 IPv4 NAT 后的主机之间的 IPv6 自动隧道.来自 Teredo 主机的 IPv6 数据流能够通过 NAT,因 ...
- combobox 属性、事件、方法
一 .combobox 属性.事件.方法公共属性 名称 说明 AccessibilityObject 获取分配给该控件的 AccessibleObject. AccessibleDefaultActi ...
- java 22 - 23 多线程之定时器的概述和使用例子
定时器是一个应用十分广泛的线程工具,可用于调度多个定时任务以后台线程的方式执行. 在Java中,可以通过Timer和TimerTask类来实现定义调度的功能 开发中 Quartz是一个完全由java编 ...
- 转:导出/导入Eclipse的workspace配置(备份Eclipse配置)
from: http://www.cnblogs.com/52php/p/5677647.html 设置好workspace配置后可以将配置保存为 *.epf 文件. 进入 File -> Ex ...
- vijos1059 积木城堡[n年浙江省队第X轮](背包的方案总数 or 01背包)
描述 XC的儿子小XC最喜欢玩的游戏用积木垒漂亮的城堡.城堡是用一些立方体的积木垒成的,城堡的每一层是一块积木.小XC是一个比他爸爸XC还聪明的孩子,他发现垒城堡的时候,如果下面的积木比上面的积木大, ...
- Linux打包压缩.md
Linux下打包压缩命令 下面学习一下压缩和打包的相关命令,首先得先明确两个概念,即:压缩和打包 .我们实际使用中一般是打包和压缩结合的使用,为了学习下面简要的介绍一下压缩文件或目录的命令. 压缩:将 ...
- MySQL的mysql_insert_id和LAST_INSERT_ID(转)
本文介绍的是mysql中last_insert_id和mysql_insert_id的区别 1 mysql_insert_id 一.PHP获取MYSQL新插入数据的ID mysql_insert_id ...
- ASP.NET Repeater 绑定 DropDownList Calendar 选择日期
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...
- hashset hastable dictionary concurrentdictionary区别
1.HashTable 哈希表(HashTable)表示键/值对的集合.在.NET Framework中,Hashtable是System.Collections命名空间提供的一个容器,用于处理和表现 ...