-
背景:
-
历史上公司点播CDN接入的厂商就比较多
-
厂商之间回源的方式存在细节上的差异
-
不同的厂商之间专线大小存在差异
-
厂商之间的定位不同,有全镜像存储厂商,作为源站资源副本永久存储,也有镜像存储厂商
-
问题:
-
在有新的流量做调度切换或者专线异常恢复的时候,专线和UPOS源站的压力较大
-
厂商回源策略有黑盒,在出现问题的时候定位难度较大,处理效率比较低
多厂商专线在某次故障期间和专线恢复时存在专线带宽突发的情况
事后我们分析,专线上涨是由于厂商专线下面不同类型回源影响到的,而在故障当下,我们因为缺失细粒度的专线监控,而且我们也不能做CDN切量的操作,因为会担心流量有雪崩的风险,所以定位和止损的效率不高
为了解决以上的问题,提升CDN厂商回源稳定性、保障源站安全,在出现问题时能快速定位并且及时止损,减少因为回源问题导致CDN质量受损的情况。在调研前期发现对接的各家商业CDN的回源策略发现主要存在以下两种常见的回源情况: 一种是用户分片请求后,要等待整文件回源完成之后再返回分片,这样容易引起用户的播放延迟增大 一种是分片回源时,对分片所属的整文件进行同步拉取,这会极大的放大回源带宽,给源站造成压力
在分析了厂商回源架构后,基于公司的点播业务特性提出了一个回源标准化方案,主要的逻辑如下: 首先让同步分片回源优先响应,降低用户播放延迟 其次根据分片回源请求的频次统计,对视频文件的冷热进行判断 判定为热文件时,整文件同步拉取,以此来降低这部分热资源分片再次请求时的回源带宽 判定为冷文件的情况下,放入整文件回源对列,等待流量低峰时错峰下载落存储,避免流量高峰时段影响源站 然后对整文件下载的逻辑进行流控限速,避免大幅放大回源带宽 最后在极端情况专线中断时,停止异步整文件回源和主动分发拉取,保障用户同步分片回源正常走公网,降低业务影响
实时厂商点播回源策略和分类回源带宽监控数据设计
这样带来的收益有: 首先在回源带宽出现异常时快速定位异常回源类型 其次是厂商回源策略不再黑盒,可以依据回源策略调整控制厂商的回源带宽,避免对源站产生压力 最后是能快速确认因回源导致的CDN质量问题
在执行点播回源标准化方案过程中因点播CDN和存储解耦的架构演进,从CDN资源运营的角度看,会有两个收益 首先是可以依赖专线和网关能力上限最大程度实现CDN故障时的厂商间切换 其次在商务成本有优化的前提下,能提高切量的效率,缩短收益获取的时间 同时在回源侧也会带来更复杂的环境 因此我们在回源侧做了改进 首先是对全镜像厂商适配分桶方案,将不同的回源类型进行拆分,分别做不同优先级和策略保障,并且兼容到了CDN回源标准化的实施中 其次是CDN和存储解耦后进行资源需求测算,测算单位CDN接入带宽所对应的专线容量、临时存储大小、两侧网关需求 最后配合采购、网络推动CDN厂商以及存储业务方做对应的资源扩容 优化后的架构方案如下:
为了保障源站安全,回源标准化方案引入了OSIG鉴权
因为CDN和源站公网鉴权都采用UPSIG鉴权方案,源站公网地址如果泄漏,用户可以通过更换源站域名方式访问,对源站安全带来不可控的风险 因此引出了OSIG的鉴权方案,厂商CDN回源时额外新增OSIG签名,隔离CDN和源站的鉴权逻辑,从而达到保护源站安全的目的
回源标准化的过程持续了大半年,虽然遇到了各种各样的问题,方案也在逐步演进,好在方案得以初步实现,向着符合预期的方向前进,总体上完成了大部分的功能,接下来我们将会继续站在资源运营的角度上优化各类资源,让点播的CDN业务更加稳定可靠。
-End- 作者丨振涛
原创文章,作者:速盾高防cdn,如若转载,请注明出处:https://www.sudun.com/ask/93442.html