相关概念介绍:
源站:客户稳定运行的业务服务器。网站、视频、游戏、直播等客户群体为实现就近访问源站内容,会将企业应用服务接入CDN加速,同时他们对业务的高可用性也有极高要求,而一旦源站崩溃将影响所有CDN服务节点的回源。因此一般需要备源作为补充,避免主源崩溃时导致整个服务异常。
对象存储:一种大容量、可扩展的存储服务,适用于存储大量的非结构化数据,具有成本效益高、可扩展性强、数据持久性强、容灾能力强的优势,可以作为CDN源站的备份。
方案概述:
方案主要涉及三个模块:边缘预分发客户端模块,基于Nginx的预分发组件,对象存储备源模块。
系统运行流程为:边缘预分发客户端以可选方式获取指定类型的统一资源定位符(URL),生成待注入的资源列表,由预分发客户端向基于Nginx的预分发组件根据资源列表发起注入任务,预分发组件收到注入任务即根据任务信息回就近CDN加速节点或主源站拉取资源,并调用对象存储协议提供的接口将资源流式上传至对象存储备源中,以此完成对象存储备源与主源间的定时同步。整体架构如图所示。主源出现故障时,CDN将回源请求自动切换至备源进行访问,服务正常运行,达到源站容灾保护的效果。
有益效果:
- 能定时、自动地将主源站内容同步到对象存储备源,避免主源出现异常时无备用源而影响正常服务,保证CDN服务的高可用性;
- 相比传统的需要客户自己搭建CDN备源的源站容灾方式,客户只需要开通对象存储服务,并创建Bucket,可选天翼云对象存储等,降低客户搭建备源的硬件成本。