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

相关文章
|
网络协议 数据安全/隐私保护 网络架构
计算机网络模型
【9月更文挑战第2天】
489 24
|
12月前
|
存储 缓存 负载均衡
从零到一:分布式缓存技术初探
分布式缓存通过将数据存储在多个节点上,利用负载均衡算法提高访问速度、降低数据库负载并增强系统可用性。常见产品有Redis、Memcached等。其优势包括性能扩展、高可用性、负载均衡和容错性,适用于页面缓存、应用对象缓存、状态缓存、并行处理、事件处理及极限事务处理等多种场景。
676 1
|
Java 数据库连接 mybatis
Mybatis使用注解方式实现批量更新、批量新增
Mybatis使用注解方式实现批量更新、批量新增
882 1
|
存储 安全 Java
Java修仙之路,十万字吐血整理全网最完整Java学习笔记(基础篇)
从Java环境的搭建到实际代码的编写,从基本用法的讲解到底层原理的剖析,深度解析Java基础知识。本文是《Java学习路线》专栏的起始文章,旨在提供一套完整的Java学习路线,覆盖Java基础知识、数据库、SSM/SpringBoot等框架、Redis/MQ等中间件、设计模式、架构设计、性能调优、源码解读、核心面试题等全面的知识点,并在未来不断更新和完善,帮助Java从业者在更短的时间内成长为高级开发。
Java修仙之路,十万字吐血整理全网最完整Java学习笔记(基础篇)
|
12月前
|
移动开发 JavaScript 前端开发
简单易用的jquery响应式轮播图插件ma5slider
ma5slider是一款简单易用的jquery响应式轮播图插件。该轮播图支持鼠标拖拽,可以通过CSS定制外观,支持无限循环模式,内置水平,垂直和淡入淡出三种轮播图过渡动画效果。
|
机器学习/深度学习 API 算法框架/工具
残差网络(ResNet) -深度学习(Residual Networks (ResNet) – Deep Learning)
残差网络(ResNet) -深度学习(Residual Networks (ResNet) – Deep Learning)
674 0
|
SQL 数据可视化 算法
掌握计算机逻辑:离散数学中的逻辑和布尔代数
掌握计算机逻辑:离散数学中的逻辑和布尔代数
|
前端开发 JavaScript Java
npm与Maven:前端与后端构建工具深度对比学习
npm与Maven:前端与后端构建工具深度对比学习
524 0
|
消息中间件 监控 数据管理
构建强大的分布式系统:微服务与架构设计的关键考虑因素
构建强大的分布式系统需要深思熟虑的架构设计和关键考虑因素。微服务架构作为一种实现分布式系统的方式,提供了许多优势,但也伴随着挑战。通过合理的服务边界定义、通信协议选择、数据管理与一致性、容错性与监控、部署和自动化以及安全性措施,可以更好地构建和维护分布式系统。最终,成功的分布式系统将为用户提供高可用性、可伸缩性和灵活性的应用程序体验。
873 1
构建强大的分布式系统:微服务与架构设计的关键考虑因素
|
前端开发 Java 关系型数据库
鲜花商城|基于Springboot实现鲜花商城系统
鲜花商城|基于Springboot实现鲜花商城系统
324 1