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

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

3. 点播质量优化

上文介绍了直播业务如何进行优化,下面将展开点播业务优化的介绍,整体点播业务架构分为三层分别为上行源站层,中间分发层及下行播流层,而一般中间分发层众多的业务厂商均会采用云厂商CDN/直播进行分发,基于该前提下本文将云厂商CDN以上的链路称之为上行链路,云厂商CDN以下的部分称之为下行链路,针对上行链路、下行链路及云厂商内部链路如何进行质量优化,详情在下文展开。

1 下行优化

a) DNS解析优化

在一条完整的http请求中,除了快速从所解析节点中拿到响应内容外,确保能快速解析,确保了通过一系列服务侧配置优化,缩短从点击视频播放,到看到视频首帧画面的耗时,也是点播场景中大量客户的首要诉求。

 

image.png

 

传统的DNS解析流程中,一般如上,即用户向Local DNS请求域名解析时,Local DNS会先检查自己的缓存里有没有该域名的解析结果,如果没有,则需要向权威DNS服务器请求,权威DNS依照自己的缓存结果,逐步向root,com/net...等各级服务器获取到最终cname域名,之后权威DNS再向CDN的DNS权威服务器获取调度到的节点VIP。



这里DNS解析优化主要围绕缩短权威DNS请求次数来进行优化,优化方法主要分为DNS预热和HTTPDNS两种方式。

 

DNS 预热

说明:预热就是对于特殊域名,在CDN节点上利用程序不断的向Local DNS请求,使Local DNS缓存中一直有该域名的解析结果,从而当用户真正请求时,Local DNS只需从缓存中取出解析结果即可,缩短用户的DNS解析时间。

 

分类:普通预热和伪造源预热。

 

普通预热:预热过程中,会将节点到Local DNS的连通性上报到服务端,若半个小时之内有一定百分比的请求都不通,则认为该节点到Local DNS的不通,约定一段时间之后进行重试。

 

伪造源预热:节点程序组装ip报文,将其中的源IP字段替换掉,替换为对应地区LocalDNS网段的IP地址,向LocalDNS发起解析请求进行预热。


HTTPDNS

 

image.png

HTTPDNS是面向多端应用(移动端APP,PC客户端应用)的域名解析服务,具有域名防劫持、精准调度、实时解析生效的特性。

 

通过利用 HTTP 协议与 DNS 服务器交互,代替了传统的基于 UDP 协议的 DNS 交互,绕开了运营商的 Local DNS,有效防止了域名劫持,提高域名解析效率。

 

另外,由于 DNS 服务器端获取的是真实客户端 IP 而非 Local DNS 的 IP,能够精确定位客户端地理位置、运营商信息,从而有效改进调度精确性,跨越中间多级解析服务器,缩短DNS解析链路。


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

相关文章
|
移动开发
【软考】校验码之详细总结
【软考】校验码之详细总结
1658 0
|
安全 测试技术
网站CSRF跨站漏洞修复方案
CSRF通俗来讲就是跨站伪造请求攻击,英文Cross-Site Request Forgery,在近几年的网站安全威胁排列中排前三,跨站攻击利用的是网站的用户在登陆的状态下,在用户不知不觉的情况下执行恶意代码以及执行网站的权限操作,CSRF窃取不了用户的数据,只能执行用户能操作的一些数据。比如在用户不知道的情况下, 把账户里的金额,以及银行卡号,体现功能,都转移到其他人账户里去。如果被攻击者是一个管理员的权限,那么就会对网站安全构成严重的危害。
网站CSRF跨站漏洞修复方案
|
3月前
|
存储 安全 数据可视化
CMS是什么意思:内容管理系统入门教程与功能详解
CMS是什么?零基础如何快速建站?本文从概念到实战,详解CMS核心功能、六大模块与选型方法,帮助新手建立完整的建站知识体系。
454 2
|
5月前
|
人工智能 算法 自动驾驶
《流浪地球》中的AI伦理困境:如果AI决定谁该被抛弃,人类该如何应对?
《流浪地球》撕开AI伦理的真相:当MOSS以“最优解”之名决定谁生谁死,现实中的算法早已在医疗、保险、招聘中隐性裁决人的价值。它不偏不倚?不,它忠实地复制人类偏见,披着“客观”外衣行不公之事。真正的危机,不是AI作恶,而是我们主动交出判断权。(239字)
343 2
|
7月前
|
存储 关系型数据库 数据库
Flask中定义类使用Sqlalchemy时,mapped_column详细讲解
本文详解 SQLAlchemy 2.0 中 `mapped_column` 的用法,介绍其语法结构、常用参数(如 `nullable`、`default`、`server_default`、`onupdate` 等),并通过 DIFY 的 Account 模型实例解析字段定义逻辑,对比数据库列与运行时字段的区别,帮助理解 ORM 映射机制。
669 3
|
9月前
|
安全 关系型数据库 分布式数据库
筑牢业务+数据双安全:阿里云PolarDB与用友BIP超级版共建数智升级解决方案
阿里云PolarDB+用友BIP超级版正在定义中国企业的数智化新标准。这不是一次简单的“替换”或“迁移”,而是一场关于数据实时性、架构弹性与生态开放性的系统性升级。打破了传统商业软件的封闭环境,可以互相印证,共同发展,也能拥有实时财务关账能力,敏捷供应链响应,数据驱动的智能运营。
|
9月前
|
Java Swift Android开发
Kotlin vs Swift:现代移动开发的“双子星”全面对比
Kotlin与Swift是现代移动开发的两大主流语言,分别主导Android与iOS生态。本文全面对比二者在语法、空安全、并发、性能及跨平台等方面的异同,深入解析其设计理念与适用场景,助你根据平台需求与技术战略做出最优选择。
676 0
|
存储 Web App开发 移动开发
HTML5 Web 存储详解
HTML5 Web存储提供了两种客户端数据存储机制:**Local Storage**和**Session Storage**。Local Storage用于长期存储数据,即使关闭浏览器数据也依然存在,适用于保存用户偏好设置等信息。Session Storage则在标签或窗口关闭时清除数据,适合存储临时信息。两者均提供了简单的API进行数据的存取操作,但需要注意的是,Web存储并非加密存储,不应存放敏感信息。现代浏览器普遍支持Web存储,合理利用这两种存储方式可提升Web应用的用户体验。
|
弹性计算 自然语言处理 安全
国内基础大模型的独立性及应用大模型的依赖性
本文探讨了国内基础大模型(如阿里巴巴的通义千问)的独立性及其应用大模型的依赖性。详细分析了这些模型的研发过程、应用场景及技术挑战,包括数据收集、模型架构设计和算力支持等方面。同时,讨论了微调模型、插件式设计和独立部署等不同实现方式对应用大模型的影响。
543 0
|
人工智能 JavaScript 安全
【01】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-需求改为思维导图-设计数据库-确定基础架构和设计-优雅草卓伊凡商业项目实战
【01】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-需求改为思维导图-设计数据库-确定基础架构和设计-优雅草卓伊凡商业项目实战
987 13
【01】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-需求改为思维导图-设计数据库-确定基础架构和设计-优雅草卓伊凡商业项目实战

热门文章

最新文章