视频直播软件开发不得不引起重视的网络架构问题

本文涉及的产品
视频直播,500GB 1个月
播放器SDK+直播LIVE组合试用套餐,播放器+流量+转码 1个月
播放器SDK+超低延时直播RTS组合试用套餐,播放器+流量+转码 1个月
简介: 直播在互联网市场中一直都处于稳定发展的局面,虽然直播行业经历了不同时期的洗牌和考验,但它还是依靠自身强大的变现能力“存活”到现在。而且随着即将统一运营商服务和流量资费的不断下调,更是给视频直播软件开发业务提供了发展“温床”,比如接下来我要给大家分享的内容,开发过程中需要注意的网络架构相关。

直播在互联网市场中一直都处于稳定发展的局面,虽然直播行业经历了不同时期的洗牌和考验,但它还是依靠自身强大的变现能力“存活”到现在。而且随着即将统一运营商服务和流量资费的不断下调,更是给视频直播软件开发业务提供了发展“温床”,比如接下来我要给大家分享的内容,开发过程中需要注意的网络架构相关。本文主要以CDN为主来介绍相关的架构问题。
20170418104411_707_wps_

 对于传统的点播业务来说,CDN只有下行分发不同。但是对于泛娱乐和游戏类的直播场景来说,直播架构是分为上行汇聚和下行分发两种的。

1.主播推流模式
(1)直播端推流到上行边缘节点。
(2)上行边缘节点将流推到汇聚核心。
(3)汇聚核心收到流后,和 CDN 一样,不需要主动将流分发到边缘,一些转码、水印或录制类的业务通常是在汇聚核心完成。
2.回源拉流模式
如果用户在访问到汇聚核心后,会向一个回源节点拉流,回源节点向客户源站拉流。
3.下行观看流程
(1)观众到边缘节点拉取直播流。
(2)在边缘节点上如果存在音视频流,可以直接发送给观众,如果没有就会向上一级回源。
(3)上一级节点可能是中转节点,也可能是汇聚核心。通常会在两种情况下选择是否经过中转节点,即下行边缘到汇聚核心链路质量和汇聚核心处理能力。

1157465_20170730140446427_1712739361_wps_
对于CDN来说,是不可能单独使用一个汇聚核心的。如果使用单独的汇聚核心,一旦遇到网络故障或者是高并发等情况发生,就会导致整个直播业务出现瘫痪的情况。况且,单独的汇聚核心无论怎样都是无法覆盖全国的,所以就需要大量的中转节点。通常,直播会使用多汇聚核心的架构,即以下两种方式。
1.链路选优
即上行到一个链路最优的核心,下行也到一个链路最优的核心。两个核心之间使用专线“打通”,从而保证传输质量。国内通常使用3个核心就可以覆盖国内的主要运营商和区域,5个核心基本就能全覆盖所有边缘节点。链路选优问题是需要进行长期的实时数据监控的。比如,直播流在哪个汇聚核心,是汇聚核心之间互相能拉到流的基础。如果需要考虑一些异常节点无法使用的情况,那么就需要进行对应的数据清理。需要注意的是:多一级拉流会增加首屏时间。
2.保证每个汇聚核心都有流
即下行边缘无论如何都能拉到流。这一架构的优点就是不需要使用数据库进行记录是推到了哪个核心,但是也容易存在以下几个问题。
(1)上行边缘到两个核心的质量无法保证,如果上行边缘到某个汇聚核心的链路质量较差,那么从这个汇聚核心拉流的用户观看质量肯定会很差。
(2)上行边缘是需要推两份流到汇聚核心的,这样一来就会造成一定的带宽浪费。对于直播来说,带宽的耗费远远要比主播的收益要高得多。
(3)为了解决上行边缘到所有核心的链路问题,就需要选取很多的中转节点,或者是使用BGP的机房作为上行边缘,这样就会耗费更大的成本。

cdn2_wps_

 在视频直播软件开发过程中,CDN的架构也是相当重要的。至于选择哪种架构,还是要根据直播平台自身的定位和资金等方面来决定的。

本文声明原创,转载请注明出处。

相关文章
|
3月前
|
Cloud Native 安全 持续交付
深入理解微服务架构及其在现代软件开发中的应用
深入理解微服务架构及其在现代软件开发中的应用
112 32
|
3月前
|
监控 物联网 持续交付
深入理解微服务架构及其在现代软件开发中的应用
深入理解微服务架构及其在现代软件开发中的应用
55 0
|
3月前
|
监控 持续交付 API
深入理解微服务架构及其在现代软件开发中的应用
深入理解微服务架构及其在现代软件开发中的应用
61 0
|
3月前
|
监控 持续交付 API
深入理解微服务架构及其在现代软件开发中的应用
深入理解微服务架构及其在现代软件开发中的应用
80 3
|
4月前
|
监控 测试技术 持续交付
深入理解微服务架构及其在现代软件开发中的应用
【10月更文挑战第10天】深入理解微服务架构及其在现代软件开发中的应用
60 0
|
5月前
|
缓存 负载均衡 数据管理
深入探索微服务架构的核心要素与实践策略在当今软件开发领域,微服务架构以其独特的优势和灵活性,已成为众多企业和开发者的首选。本文将深入探讨微服务架构的核心要素,包括服务拆分、通信机制、数据管理等,并结合实际案例分析其在不同场景下的应用策略,旨在为读者提供一套全面、深入的微服务架构实践指南。**
**微服务架构作为软件开发领域的热门话题,正引领着一场技术革新。本文从微服务架构的核心要素出发,详细阐述了服务拆分的原则与方法、通信机制的选择与优化、数据管理的策略与挑战等内容。同时,结合具体案例,分析了微服务架构在不同场景下的应用策略,为读者提供了实用的指导和建议。
|
5月前
|
Cloud Native 持续交付 云计算
云原生技术:重塑软件开发与架构的未来
在云计算的推动下,云原生技术正逐渐成为软件开发的新标准,强调利用容器、服务网格、微服务等技术实现敏捷开发与高效运维。本文探讨了云原生技术如何重塑软件开发与架构的未来,介绍了其核心概念(如容器化、微服务架构、CI/CD)及优势(如敏捷性、可扩展性、成本效益),并讨论了其在金融服务、电子商务和物联网等领域的实际应用及面临的挑战。尽管存在技术复杂性和人才短缺等问题,云原生技术仍将成为软件开发的主流趋势。
|
5月前
|
运维 Cloud Native Devops
云原生架构的崛起与实践云原生架构是一种通过容器化、微服务和DevOps等技术手段,帮助应用系统实现敏捷部署、弹性扩展和高效运维的技术理念。本文将探讨云原生的概念、核心技术以及其在企业中的应用实践,揭示云原生如何成为现代软件开发和运营的主流方式。##
云原生架构是现代IT领域的一场革命,它依托于容器化、微服务和DevOps等核心技术,旨在解决传统架构在应对复杂业务需求时的不足。通过采用云原生方法,企业可以实现敏捷部署、弹性扩展和高效运维,从而大幅提升开发效率和系统可靠性。本文详细阐述了云原生的核心概念、主要技术和实际应用案例,并探讨了企业在实施云原生过程中的挑战与解决方案。无论是正在转型的传统企业,还是寻求创新的互联网企业,云原生都提供了一条实现高效能、高灵活性和高可靠性的技术路径。 ##
285 3
|
6月前
|
XML 开发框架 .NET
.NET框架:软件开发领域的瑞士军刀,如何让初学者变身代码艺术家——从基础架构到独特优势,一篇不可错过的深度解读。
【8月更文挑战第28天】.NET框架是由微软推出的统一开发平台,支持多种编程语言,简化应用程序的开发与部署。其核心组件包括公共语言运行库(CLR)和类库(FCL)。CLR负责内存管理、线程管理和异常处理等任务,确保代码稳定运行;FCL则提供了丰富的类和接口,涵盖网络、数据访问、安全性等多个领域,提高开发效率。此外,.NET框架还支持跨语言互操作,允许开发者使用C#、VB.NET等语言编写代码并无缝集成。这一框架凭借其强大的功能和广泛的社区支持,已成为软件开发领域的重要工具,适合初学者深入学习以奠定职业生涯基础。
132 1
|
6月前
|
敏捷开发
怎么理解基于架构的软件开发
理解基于架构的软件开发
205 1

热门文章

最新文章