带你读《多媒体行业质量成本优化及容灾方案白皮书》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

相关文章
|
5G 网络架构 芯片
5G 标准的制定过程 | 带你读《5G 无线系统设计与国际标准》之三
ITU 在开发移动通信无线接口标准方面有着悠久的历史,包括制定 IMT-2000 和IMT-Advanced 在内的国际移动通信(IMT)标准框架,贯穿了整个 3G 和 4G 行业发展。
5G 标准的制定过程  | 带你读《5G 无线系统设计与国际标准》之三
|
Android开发 数据安全/隐私保护
老板叫我写个APP自动化--登录脚本--简单输出
老板叫我写个APP自动化--登录脚本--简单输出
298 0
老板叫我写个APP自动化--登录脚本--简单输出
|
机器学习/深度学习 API 算法框架/工具
残差网络(ResNet) -深度学习(Residual Networks (ResNet) – Deep Learning)
残差网络(ResNet) -深度学习(Residual Networks (ResNet) – Deep Learning)
933 0
|
SQL 数据可视化 算法
掌握计算机逻辑:离散数学中的逻辑和布尔代数
掌握计算机逻辑:离散数学中的逻辑和布尔代数
|
前端开发 JavaScript Java
npm与Maven:前端与后端构建工具深度对比学习
npm与Maven:前端与后端构建工具深度对比学习
761 0
|
存储 供应链 算法
深入理解Java中的ConcurrentSkipListMap:高效并发的有序映射
深入理解Java中的ConcurrentSkipListMap:高效并发的有序映射
|
消息中间件 监控 数据管理
构建强大的分布式系统:微服务与架构设计的关键考虑因素
构建强大的分布式系统需要深思熟虑的架构设计和关键考虑因素。微服务架构作为一种实现分布式系统的方式,提供了许多优势,但也伴随着挑战。通过合理的服务边界定义、通信协议选择、数据管理与一致性、容错性与监控、部署和自动化以及安全性措施,可以更好地构建和维护分布式系统。最终,成功的分布式系统将为用户提供高可用性、可伸缩性和灵活性的应用程序体验。
1129 1
构建强大的分布式系统:微服务与架构设计的关键考虑因素
|
前端开发 Java 关系型数据库
鲜花商城|基于Springboot实现鲜花商城系统
鲜花商城|基于Springboot实现鲜花商城系统
393 1
|
缓存 安全 网络安全
net::ERR_CONNECTION_RESET
`net::ERR_CONNECTION_RESET` 错误通常表示网络连接被重置。这可能是由于以下原因之一导致的: 1. 网络问题: 该错误可能是由于网络中断、不稳定的连接或基础设备故障等引起的。请确保你的网络连接正常,并尝试刷新页面或重新启动网络设备。 2. 防火墙或安全软件: 有时,防火墙或某些安全软件可能会干扰网络连接并重置它。尝试禁用防火墙或安全软件,然后再次访问网页,看看问题是否解决。 3. 代理设置: 如果你使用了代理服务器,尝试禁用代理并直接连接到互联网,然后检查问题是否仍然存在。 4. 网站服务器问题: `net::ERR_CONNECTION_RESET` 错误也可
20195 0
|
缓存 网络协议 Shell