tencent cloud

对象存储

动态与公告
产品动态
产品公告
产品简介
产品概述
功能概览
应用场景
产品优势
基本概念
地域和访问域名
规格与限制
产品计费
计费概述
计费方式
计费项
免费额度
计费示例
查看和下载账单
欠费说明
常见问题
快速入门
控制台快速入门
COSBrowser 快速入门
用户指南
创建请求
存储桶
对象
数据管理
批量处理
全球加速
监控与告警
运维中心
数据处理
内容审核
智能工具箱
数据工作流
应用集成
工具指南
工具概览
环境安装与配置
COSBrowser 工具
COSCLI 工具
COSCMD 工具
COS Migration 工具
FTP Server 工具
Hadoop 工具
COSDistCp 工具
HDFS TO COS 工具
GooseFS-Lite 工具
在线辅助工具
自助诊断工具
实践教程
概览
访问控制与权限管理
性能优化
使用 AWS S3 SDK 访问 COS
数据容灾备份
域名管理实践
图片处理实践
COS 音视频播放器实践
工作流实践
数据直传
内容审核实践
数据安全
数据校验
大数据实践
COS 成本优化解决方案
在第三方应用中使用 COS
迁移指南
本地数据迁移至 COS
第三方云存储数据迁移至 COS
以 URL 作为源地址的数据迁移至 COS
COS 之间数据迁移
Hadoop 文件系统与 COS 之间的数据迁移
数据湖存储
云原生数据湖
元数据加速
数据加速器 GooseFS
数据处理
数据处理概述
图片处理
媒体处理
内容审核
文件处理
文档处理
故障处理
获取 RequestId 操作指引
通过外网上传文件至 COS 缓慢
访问 COS 时返回403错误码
资源访问异常
POST Object 常见异常
API 文档
简介
公共请求头部
公共响应头部
错误码
请求签名
操作列表
Service 接口
Bucket 接口
Object 接口
批量处理接口
数据处理接口
任务与工作流
内容审核接口
云查毒接口
SDK 文档
SDK 概览
准备工作
Android SDK
C SDK
C++ SDK
.NET(C#) SDK
Flutter SDK
Go SDK
iOS SDK
Java SDK
JavaScript SDK
Node.js SDK
PHP SDK
Python SDK
React Native SDK
小程序 SDK
错误码
鸿蒙(Harmony) SDK
终端 SDK 质量优化
安全与合规
数据容灾
数据安全
访问管理
常见问题
热门问题
一般性问题
计费计量问题
域名合规问题
存储桶配置问题
域名和 CDN 问题
文件操作问题
日志监控问题
权限管理问题
数据处理问题
数据安全问题
预签名 URL 问题
SDK 类问题
工具类问题
API 类问题
服务协议
Service Level Agreement
隐私政策
数据处理和安全协议
联系我们
词汇表
文档对象存储实践教程数据容灾备份 基于存储桶复制的容灾高可用架构

基于存储桶复制的容灾高可用架构

PDF
聚焦模式
字号
最后更新时间: 2024-01-06 10:47:50

简介

腾讯云对象存储 COS 为客户提供了99.95%的可用性和99.999999999%的可靠性。然而,由于自然灾害、光纤故障等诸多不可控因素的存在,云上数据的可用性和可靠性均无法达到100%,同时,部分行业由于业务的特殊性,例如金融行业,需要保证业务高可用和高可靠性。
为了实现企业业务的连续性和稳定性,满足企业对高可用和高可靠性的需求,腾讯云对象存储提供了基于存储桶复制功能的数据容灾高可用方案。我们建议企业用云时,根据业务需要对云上数据进行容灾、备份,保障业务持续稳定运行。
本文主要介绍两个方面,首先介绍一种基于存储桶复制的云上业务主备切换的容灾方案,另一方面进一步介绍一种基于存储桶复制的高可用方案,通过存储桶复制、回源和 SCF、CDN 等多种产品和功能实现业务高可用。

基于存储桶复制的容灾备份方案

容灾需要满足三个要素:冗余(Redundance)、远距离(Remote)和数据全备份(Replication)。
冗余:即数据冗余,要求数据需要同时备份到另一个可用系统中。
远距离:指的是备份数据存储在相隔较远的另一个地域,因为灾害往往具有地理上的连续性,只有充分长的距离才能保障冗余数据的可用。
数据全备份:指的是备份数据零丢失。
COS 的存储桶复制功能可以实现增量数据的跨地域同步,用户上传的数据,根据其文件大小和地域距离远近,可以在几秒到几十分钟内拷贝到另一地域的存储桶中。基于存储桶复制,可以实现数据的异地冗余备份,从而实现业务容灾。有关存储桶复制的介绍,可参见 存储桶复制概述。开启存储桶复制需要先开启版本控制功能,有关版本控制的介绍可参见 版本控制概述
基于存储桶复制的容灾备份架构示意图如下:

在这一架构下,客户的存储桶 A 和存储桶 B 互为主备。假设企业客户的数据存储在存储桶 A 上,另一地域的存储桶 B 是备用存储桶。该企业为了保障业务连续性和稳定性,为存储桶 A 和存储桶 B 分别配置了存储桶复制规则。在存储桶复制规则生效的情况下,存储桶 A 的增量数据会自动复制到存储桶 B 中,存储桶 B 的增量数据同样会自动复制到存储桶 A 中。
注意
存储桶 A 中的增量数据复制到存储桶 B 后,虽然是存储桶 B 中的增量数据,但不会再被复制到存储桶 A 中。
正常情况下,企业的主读写请求链路均指向存储桶 A,所有增量数据将被自动增量同步复制到存储桶 B 中作为备份数据。客户侧可以在上传或者下载程序中加入网络质量检测的模块,在检测到主存储桶 A 宕机时,迅速将读写请求链路切换到备存储桶 B 中。
注意
网络质量检测可以基于腾讯云云函数 SCF 实现,通过对云函数代码进行修改,将拨测地址修改为主备存储桶的域名,同时根据业务需求将告警代码片段修改为其他业务所需的措施。

基于存储桶复制的高可用方案

上文介绍了一种基于存储桶复制的容灾备份方案,该方案能够利用云上已有产品和功能实现数据备份和容灾切换的工作。但真实业务运行状态可能复杂多样,上述的容灾备份方案未必能保障业务的高可用。因此,本小节提出一种基于存储桶复制的高可用方案,通过存储桶复制、回源和 SCF、CDN 等多种产品和功能实现业务高可用。
基于存储桶复制的业务高可用架构示意图如下:

这一架构主要分为以下几个层次:
高可用层:集成网络检测和业务调度,根据链路的连通率等指标进行链路切换,用户可以根据 SCF 实现(可参照上一小节介绍),也可以根据业务需求在客户端自行实现。
存储层:一般情况下由 COS 不同地域的存储桶组成;用户也可以通过 设置回源策略引入自有源站或者其他云厂商上的存储桶,进一步保障数据的一致性。
CDN 层:通过腾讯云 CDN 海量边缘节点提供就近访问的功能,可以避免用户直接访问源站数据,保证源站数据安全。
这一架构保障业务高可用的方式阐述如下:
1. 正常情况下,企业的主写请求链路均指向存储桶 A,所有增量数据将被自动同步复制到存储桶 B 中作为备份数据。
2. 当主存储桶 A 的链路不通时(例如拨测质量下降或者检测到上传失败),则客户端可以将写请求链路切换至主存储桶 B,此时所有增量数据同样将被自动同步复制到存储桶 A 中。
3. 客户还可以选择在自有源站或者其他云厂商上先备份一份冗余数据,同时给存储桶 B 配置回源策略。假设在极端情况下,主存储桶 A 和 B 链路都同时无法连通,那么在上传数据到存储桶 B 失败的情况下,存储桶 B 可以从源站拉取数据。
注意
全量冗余备份数据成本较高,客户也可以选择只冗余备份热数据(例如仅数小时内上传的文件),以减少数据存储成本。
如果您选择了源站作为高可用架构中的一部分,那么您在设计该架构时请注意评估源站带宽以及其限制可能带来的影响。
4. 从存储桶读取数据可以通过直接访问存储桶实现,也可以为存储桶 绑定 CDN 加速域名,通过腾讯云 CDN 边缘节点为客户提供就近访问的能力。如果您的业务数据涉及到内容分发场景,或者不希望您的用户直接访问到您的存储桶,我们推荐您搭配使用 腾讯云 CDN
说明
如果您直接从存储桶中读取数据,那么需要客户端支持 follow HTTP 302。
腾讯云 CDN 提供近千个边缘节点,能够为用户提供邻近的访问节点,提高读取速率。您可以为 CDN 绑定多个源站互为主备,保障高可用,可参见 源站配置 进行配置。
如果您希望尽可能保障源站安全,设置源站私有读写并开启 CDN 回源鉴权,能够让您的用户能匿名访问缓存在 CDN 边缘节点上的数据,同时保障源站数据安全。

参考文档

以下文档可能为您实现容灾高可用架构提供帮助:

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈