带你读《多媒体行业质量成本优化及容灾方案白皮书》1. 直播容灾(2)

简介: 带你读《多媒体行业质量成本优化及容灾方案白皮书》1. 直播容灾(2)

带你读《多媒体行业质量成本优化及容灾方案白皮书》1. 直播容灾(1)https://developer.aliyun.com/article/1351875?groupCode=supportservice


2 直播容灾案例及通用容灾方案

直播业务链路包括了:上行推流、直播中心转码录制、下行分发,故直播业务容灾方案需要评估全链路进行。下面展开多媒体行业头部客户容灾案例及通用容灾方案介绍。

a容灾案例

客户A-大活动场景容灾链路及剖析

 

主流推流到客户自建接流源站-->客户自建源站实现转码、截图、录制等逻辑-->各云厂商拉流客户源站源流及转码流-->客户业务调度服务器按一定的分量逻辑,给终端下发某云厂商A的源流及转码流的主流地址,便于终端播放。

 

备流推流到Y1云厂商边缘-->Y1云厂商实现转码、截图、录制等逻辑,同时将源流分发给其他云厂商,也实现转码、截图、录制等逻辑-->客户业务调度服务器按一定的分量逻辑,给终端下发某云厂商B的源流及转码流的备播流地址,便于终端播放。

 

 

容灾链路剖析

 

上述链路推流链路、直播中心逻辑、下行分发等全链路的容灾。推流链路层面客户自建源站及Y1云厂商实现了主动容灾,直播转码截图录制等逻辑亦是如此,下行播流实现了多云厂商下行分发。

 

同时客户终端还实现了HTTPDNS解析+fallback逻辑,A云厂商的直播流播流失败或长时间低帧率,会重试到B云厂商流,当A云厂商的直播服务/直播分发节点出现异常,或者该终端到A云厂商的分发节点之间链路异常,能自动快速重试到B云厂商逻辑,实现异常问题快速逃逸。

 

对于单云厂商直播节点异常场景,在LDNS解析的情况下,因DNS解析缓存,一般终端业务影响时间会在10-20分钟左右,而实现终端fallback+HTTPDNS解析逻辑,这块的影响会降低到1分钟内,这块的影响时长还是得看终端设置的超时或低帧时长阈值。

某政企客户B容灾链路及剖析

 

主备流推流到客户多个自建接流源站-->某云厂商多直播中心通过主备专线回源拉流主备源流,实现主备源流合流,并对合流流实现转码录制截图等逻辑-->客户业务调度逻辑下发多中心播流域名的源流合流及转码流流地址,终端播放器进行播放;


参考架构如下:

 

image.png

容灾链路剖析

 

上述链路推流链路、直播中心逻辑、下行分发等全链路的容灾,其中推流链路通过单云厂商的的不同接流节点实现容灾,直播中心逻辑通过单云厂商多直播中心实现容灾,下行分发通过单云厂商多节点快切实现容灾。

 

客户终端实现了HTTPDNS解析+fallback逻辑,A域名的直播流播流失败或长时间低帧率,会重试到B域名,当A域名的直播服务/直播分发节点出现异常,或者该终端到A域名的分发节点之间链路异常,能自动快速重试到B域名的其他节点,实现异常问题快速逃逸;

 

对于单云厂商直播节点异常场景,在LDNS解析的情况下,因DNS解析缓存,一般终端业务影响时间会在10-20分钟左右,而实现终端fallback+HTTPDNS解析逻辑,这块的影响会降低到1分钟内,这块的影响时长还是得看终端设置的超时或低帧时长阈值。

 

b) 通用容灾方案

上述的AB案例,介绍了多云厂商、单云厂商情况下的全链路容灾方案,客户可以按需选择上述方案。

相关文章
|
NoSQL MongoDB Python
python mongodb pymongo 连接 身份认证
python mongodb pymongo 连接 身份认证
350 0
|
前端开发 UED 开发者
React 滚动监听 Scroll Listener
本文介绍React中实现滚动监听的方法,涵盖基本概念、常见问题及解决方案。通过监听`window`对象的`scroll`事件,开发者可以在用户滚动时触发自定义逻辑。文章详细探讨了冗余调用、组件卸载时未清理事件监听器、滚动位置不一致等常见问题,并提供了防抖、节流、保存滚动位置等解决方案。同时,强调了跨浏览器兼容性和性能优化的重要性,帮助开发者在实际项目中更好地实现滚动监听功能。
348 17
|
JavaScript 前端开发 Java
基于springboot的留守儿童爱心网站
这是一个基于SpringBoot的留守儿童爱心网站,包含管理员和用户两种角色。管理员负责用户、新闻、志愿活动、捐赠等管理;用户可进行登录注册、爱心捐赠及活动报名。项目采用SpringBoot与Mybatis作为后端框架,前端则使用HTML和VUE。适用于JDK1.8、IDEA/Eclipse、MySQL5.7/8.x,无需特定Tomcat或Maven版本,支持Windows系统。
322 13
基于springboot的留守儿童爱心网站
|
JavaScript 前端开发
我为展开收起功能做了动画,被老板称赞!
【8月更文挑战第23天】我为展开收起功能做了动画,被老板称赞!
679 1
我为展开收起功能做了动画,被老板称赞!
|
SQL 存储 分布式计算
流批一体技术简介
本文由阿里云 Flink 团队苏轩楠老师撰写,旨在向 Flink 用户整体介绍 Flink 流批一体的技术和挑战。
51632 3
流批一体技术简介
|
开发框架 前端开发 JavaScript
ABP框架中一对多,多对多关系的处理以及功能界面的处理(2)
ABP框架中一对多,多对多关系的处理以及功能界面的处理(2)
|
Linux Shell C语言
linux下configure,make(makefile),cmake命令详解-makefile和CMakeList
linux下configure,make(makefile),cmake命令详解-makefile和CMakeList
|
Dart 前端开发 开发者
【Flutter前端技术开发专栏】Flutter Dart语言基础语法解析
【4月更文挑战第30天】Dart是Google为Flutter框架打造的高效编程语言,具有易学性、接口、混入、抽象类等特性。本文概述了Dart的基础语法,包括静态类型(如int、String)、控制流程(条件、循环)、函数、面向对象(类与对象)和异常处理。此外,还介绍了库导入与模块使用,帮助开发者快速入门Flutter开发。通过学习Dart,开发者能创建高性能的应用。
411 0
【Flutter前端技术开发专栏】Flutter Dart语言基础语法解析
|
并行计算 API C++
GPU 硬件与 CUDA 程序开发工具
GPU 硬件与 CUDA 程序开发工具
514 0
|
Web App开发 缓存 前端开发
浏览器之性能指标_FCP(二)
浏览器之性能指标_FCP(二)
428 0

热门文章

最新文章

下一篇
开通oss服务