慕课网课程地址:https://www.imooc.com/learn/959

1-1 万人直播架构与CDN网络

实时互动直播延迟通常在400毫秒以内

泛娱乐化直播主要由4部分组成,第一部分为主播端,发起信令,到第二部分信令服务器,信令服务器处理这些信令,做相应的逻辑处理, 比如常见的创建房间,聊天,发送礼物,都是以信令的形式进行处理的。第三部分为流媒体云部分,也就是通常我们说的CDN网络, 它的作用是对音视频流进行转发,CDN网络是我们泛娱乐化直播架构中最重要的一部分, 第四部分就是观看端,也就是收看主播端端。

泛娱乐化直播的流程如下,首先主播端发送一个信令到信令服务器,说创建一个房间,信令服务器收到信令之后, 在服务端将房间创建好,之后返回给共享端一个流媒体云端地址,共享端采集自己的音视频数据,形成rtmp流,推送到CDN网络。如果此时一个用户想要观看主播端节目,此时客户端(手机端)也会发一个信令到信令服务器, 信令服务器将这个用户加入到该美女主播的房间,给他返回他想看的的那个主播的流媒体云的地址,第四步观众就可以到CDN网络去拉取这个流,从而看到他想看的节目。对于其他用户,也是这个步骤。

实时互动直播结构,右边的CDN网络的部分, 它其实我们泛娱乐化直播的架构。首先看我们的实时网络,为什么在我们的实时互动部分需要有自有网络呢?主要还是与传输协议有关,我我们在网络传输时主要用两种协议,一种是UDP协议,一种是TCP协议,TCP协议是可靠的流式传输协议,即A想B发送数据,B肯定是收到的,而且是有序的,机制就是 发送,确认,超时,重发。根据TCP协议,如果网络不好的话,那么发送之后的等待时间将会非常长,因此TCP是不可能达到实时效果的,所以我们必须使用UDP网络,UDP网络的优点是有包就发,不管收到收不到,因为音视频业务对时效性要求比较高,所以更适合使用UDP协议。因为实时互动协议是基于UDP协议,所以必须要自己建设网络,而不是像TCP的CND网络一样,已经很成熟了。第二点主要又业务原因造成的,就是在我们需求的服务端有多个节点, 为什么要有多个节点呢?比如像我们的音视频会议,一般都是ToB的产品,要求服务可靠,健壮,可以提供24小时服务。如何保证可以提供24小时的服务呢?就是在我们的服务端给它设成多个节点, 一旦某个节点出现问题,可以将这个节点的业务切换到另一个节点继续为 用户提供服务。对用户来说是无感知到,服务是一直通畅的,这样也可以保证每个节点都可以负载均衡,降低我们的风险。有了多节点。就要有我们的控制中心,控制中心与节点之间是通过心跳来实时保持通信的。每个节点都要定期的想控制中心报告自己的健康指数,比如自己的CPU,内存,IO,网络的占用情况。控制中心会根据这些数据进行相应的决策。第4点就是我们的内总线,内总线的好处是我的数据可以保证安全,可以有很高的吞吐量, 可以更好的控制,如果我们没有这个内总线,而是使用普通的web网络,这个可靠性是无法达到我们的要求的。这4点构成了整个实时互动的框架。

随着业务的发展,光有实时互动是不够的, 有些课程和节目既需要实时互动又需要大量用户观看,这时候就是我们实时互动架构与泛娱乐化架构的融合。他们是如何融合的呢?最关键的一点就是我们的媒体服务器,媒体服务器主要起到一个转化的作用,我们在实时互动这个网络中使用的是UDP协议,它里面是RTP的包,一个个的包通过媒体传输到我们的内部总线,又从我们的内部总线传到媒体服务器。而我们的CDN网络使用的是RTMP协议,那么RTP协议如何转成RTMP协议进入到我们的CDN网络呢?就是通过媒体转化服务器。它主要是做RTP到RTMP转化用的。这样就将我们的实时互动直播与泛娱乐化直播进行了一次融合。第六步视频网络推送到CNDN,那么在我们CDN的用户就可以获取CDN的流,直接观看在实时互动网络中创建的这些节目。

1-2 CDN网络讲解

CDN网络是为了解决用户访问网络资源慢而出现的一门技术,  用户访问网络资源慢,总结起来其实就两个原因,第一个原因就是链路过长,我们可以举一个例子,假如一个用户在东北,而他想访问的服务在海南,这么长的线路,其中任何一个节点出现问题,就会造成用户整体的感觉非常差。第二点就是人文因素,我们知道,网络运营商为了留住自己的用户,就会与其他运营商进行切割和限制。 基于这两个原因,CDN网络应运而生。

一个用户首先请求边缘节点,边缘节点没有,就请求主干节点,如果主干节点也没有这个数据,那么他就要回到源站节点去获取这个数据。这样就构成了我们的一个基本的CDN网络。

假设我们现在有两个运营商,一个是中国联通,一个是中国电信,在每个运营商内部实际上都要建自己的网络,而且他的源节点很多,也会有主干节点和边缘节点, 用户首先是访问边缘节点,看有没有数据可以拿到,如果没有的话,才会向主干节点去请求,一层一层如果都没有的话,就会到源节点。为了解决运营商之间的互相限制,我们通常在两个网络之间会架设一个主干节点,通过光纤对接将他们链接在一起,这样的话,资源就打通了,如果我有一个服务在联通,而我有一个用户是在电信, 这样他去访问联通资源的时候就会非常快。首先一个用户,如果想访问一个资源,会通过DNS找到他就近的那个边缘节点, 请求数据,如果这个时候,没有数据,它就会到主干节点,主干节点依然没有,那它就会看这个资源是电信上的服务还是联通上的服务,如果是联通上的服务,那么它就会到联通上的主干节点,如果依然没有,那么它就会访问联通上的源节点,如果找到这个数据了,就会通过原来的路径返回到用户这里。如果你是这个资源的第一个用户,那么很有可能要走完整个路径,这个时间可能会非常长,如果很多用户都要访问这个资源,那么第一次拿数据的时候,已经缓存到了边缘节点上。拿第二个用户拿数据的时候,就可以直接从边缘节点拉到自己的本机上。 这样就达到了一个加速的效果。当然CDN网络分为传统的CDN网络和现有的音视频直播流的CDN网络。 对于这两套CDN还是有很明显的区别的,传统的CND会追求热点,而对于直播的CDN网络,一般是通过源先push到我们的主干节点,让这些数据都存在,因为他的实时性比较高,不能有太大延迟,当你从边缘节点访问的时候,如果边缘节点没有,直接从主干节点拉取,也就是它与推拉是相结合的。

1.万人直播架构与CDN网络相关推荐

  1. 万人直播架构与CDN网络

    CDN网络介绍 本文为慕课网音视频学习笔记 泛娱乐化直播架构 共享端(美女直播端:电脑.手机)发起信令到信令服务器,信令服务器进行逻辑处理(例如:创建房间.聊天.礼物都是以信令的方式进行传输处理的), ...

  2. 万人直播网络架构与CDN网络

    概述 目前市场上的产品主要分为两种:一种是像花椒.映客.斗鱼.YY等的泛娱乐化直播,一种是思科.声网之类的实时互动直播.一般情况下实时互动直播会与PSTN网络相连,所以实时互动直播必须达到电话级别的传 ...

  3. 聚焦CSDN技术主题月:视频直播架构新解读专场回顾

    9月3日下午,在北京联合创业办公社,由CSDN社区主办的技术主题月系列之--<视频直播技术架构的新解读>活动成功举办.CSDN邀请了迅达云SpeedyCloud工程VP李雨来.dotEng ...

  4. 万人网络5218传媒美拍涨粉加粉丝直播平台粉丝增加

    万人网络5218传媒美拍涨粉加粉丝直播平台粉丝增加 idc.yinese.com/goods.php?id=503 idc.yinese.com/goods.php?id=504 cm.hao5218 ...

  5. 百度万人协同规模下的代码管理架构演进

    互联网研发,唯快不破.为了提升公司整体研发效率,百度引入了业界的优秀工程实践,设计开发了一整套研发工具链.主要包括项目管理平台.代码开发协作平台和持续交付平台,分别针对需求.开发和交付场景,提供工具. ...

  6. 阿里云CDN直播架构与双11晚会直播实战

    摘要: 分享人:阿里云CDN直播 高级技术专家 阙寒分享内容:双11直播活动是众多直播活动中非常典型的场景,离不开直播本身这个话题.所以今天的分享会从直播概述.直播架构.业务功能.直播监控.双11这几 ...

  7. 卡塔尔世界杯进入倒计时,万人观赛的直播体验如何保障?

    11月,全球瞩目的世界杯就要来了!德国战车能否一往无前拿下桂冠?梅西与C罗的命运之战又将如何落幕--热议的焦点层出不穷.如今,互联网直播已成为国民观看世界杯的主要方式,面对世界杯期间的巨大直播流量,如 ...

  8. 阿里云CDN直播架构与双11晚会直播实战 1

    摘要: 分享人:阿里云CDN直播 高级技术专家 阙寒分享内容:双11直播活动是众多直播活动中非常典型的场景,离不开直播本身这个话题.所以今天的分享会从直播概述.直播架构.业务功能.直播监控.双11这几 ...

  9. 阿里云牵手战旗直播:让500万人进入1个直播房间

    本文讲的是阿里云牵手战旗直播:让500万人进入1个直播房间[IT168 云计算]6月10日,在云栖大会·上海峰会上,战旗直播和阿里云宣布达成战略合作. 即日起,战旗直播作为国内高清游戏直播第一平台,阿 ...

最新文章

  1. 工业机器人电柜布线_协作并联,重新注解并联机器人
  2. c++ lambda函数_C++11 之 lambda函数的详细使用
  3. 列级触发器 SQL Server
  4. 沟通与设计讨论总结:设计师不能不知道的10个沟通秘诀
  5. x[:,n]或者x[n,:]的用法
  6. Docker从理论到实践(二)------配置Docker镜像源加速器(部分使用效果已不太理想)
  7. 妙用Vista光盘轻松制作Windows PE 2.0启动光盘/闪存
  8. android qq下载路径,手机qq下载的文件在哪个文件夹 查找路径解答
  9. macOS 10.14配置APUE环境
  10. 【JS提升】六边形的两种画法
  11. Omi Emoji表情包
  12. Line营销机器人2019版
  13. 阿里云服务器CentOS搭建
  14. 车联网的信息安全问题及安全威胁
  15. 鼠标连点器电脑版安装使用教程
  16. 腾讯汤道生:微信乘车码已全量上线昆明地铁
  17. SIEMENS/西门子1214 PID/通信模板 西门子P SIEMENS/西门子1214 PID/通信模板
  18. JAVA WEB项目隐藏url真实路径,url地址重写UrlRewriteFilter
  19. bat添加修改注册表键值 批处理修改注册表项
  20. 任性的Moto,铱星的情怀

热门文章

  1. listView item 增加间距 以及item根部局 margin 失效原因
  2. 日常训练 2017.04.08 凶♂残♂的猪猪???
  3. opencv中copyTo函数的使用
  4. 讯为开发板移植linux,迅为I.MX6ULL开发板移植Linux5.4内核教程
  5. 新车磨合期保养完全攻略
  6. kibana install
  7. 山东2021年高考成绩查询状元,2021年山东高考最高分多少分,历年山东高考状元
  8. SQL server的书签查找
  9. oracle没有create or replace table
  10. 超高精度PID控制器的特殊功能(4)——分程控制功能及其应用