在 2025 收官前,看清 Data + AI 的真实走向,点击查看 BUILD 大会精华版 了解详情
写点什么

华为云 OBS+CDN 的最佳成本实践,都在这里了(续)

  • 2020-03-24
  • 本文字数:1192 字

    阅读完需:约 4 分钟

华为云OBS+CDN的最佳成本实践,都在这里了(续)

多云存储数据同步方案

在昨天的文章(延伸阅读:华为云 OBS+CDN 的最佳成本实践,都在这里了)中我们提到,为了避免单厂商故障、提高整体业务连续性,企业可以采用多云对象存储+多云 CDN 架构。这种多云配置模型下,就必须考虑如何实现不同厂商云存储之间的数据同步。下面我们继续介绍实践,提供几个方案供大家参考。


应用双写


如果数据是在应用服务侧产生,或者数据在客户端产生但通过服务端写入对象存储,建议使用双写方案,架构如下:



此时业务应用可对接两家对象存储的 SDK,将文件以同步模式或者异步模式写入两家对象存储。对象存储的上行流量免费,所以该架构不会增加额外的流量成本。


数据回源


如果业务已在使用其他云对象存储,并且引入新云厂商的对象存储和 CDN,且不想改变原有上传逻辑,建议可使用“数据回源”功能。


例如:原来客户使用的是其他云厂商的对象存储,现在新引入华为云的 OBS+CDN 服务。当 OBS 刚接入系统时,客户端的文件访问请求首先会到达华为云的 OBS,而 OBS 桶里没有该文件时,通过“数据回源”将客户端请求重定向到设定的原有对象存储源站,并且把数据传递给客户端(路径 1)。与此同时,华为云 OBS 会异步地从其他云源站将数据拉取到 OBS 桶存储下来(路径 2)。架构如下:



当下次客户端请求同样的文件时,华为云 CDN 将直接回源到 OBS 获取数据,不会出现获取不到的情况。


需要说明的是,“数据回源”功能是被动触发式,即只有向 OBS 发起请求后 OBS 才会到设置的源站将数据拉取过来。而当一个新文件上传到其他云的对象存储后,建议业务应用程序向华为云 OBS 触发一个 GET 请求来拉取数据(发起 GET 请求后可关闭连接,无需接收实体数据)。


Serverless 触发式上传


如果客户原来使用云厂商支持 Serverless,则可以通过 Serverless 异步把新增数据同步到华为云 OBS。该方案同样不改变原有的上传逻辑,当文件上传到其他云对象存储后,触发函数计算服务,通过 Serverless 方式将文件同步到华为云 OBS,架构如下:



该方案需要客户在其他云启用函数计算服务并部署上传文件到 OBS 的代码,会产生函数计算服务的费用。另外,一般函数计算的运行时间有一定限制,该方法不适合大文件上传的场景。


异步抓取


在单个文件不大的情况下(小于 5GB),还可以使用异步抓取方式,把上传到其他云对象存储的数据同步到华为云 OBS。方式为调用 OBS 的异步抓取 API,由 OBS 的异步抓取组件将文件拉取到 OBS 桶保存。



该方法需要客户在业务代码里增加调用 OBS 异步抓取功能的代码。


除了以上 4 种方法外,还有一种客户需要把其他云厂商的对象存储中大量的存量数据(从 TB 级到 EB 级)批量迁移到 OBS 的场景,针对这种情况,华为云提供了 OMS 对象存储迁移服务,由华为云专业的迁移服务团队来帮助客户完成整个迁移活动,有需要的同学可以上华为云官网进行了解。


本文转载自 华为云产品与解决方案 公众号。


原文链接:https://mp.weixin.qq.com/s/BbQFROBc4oyxSy8Rvcza0A


2020-03-24 21:052282

评论

发布
暂无评论
发现更多内容

从改善设计的角度理解TDD (2)

Bright

敏捷 TDD

mysql进阶

楠羽

MySQL 笔记 9月月更

如何看待2023年秋招技术岗哀鸿遍野?

退休的汤姆

程序员 互联网 面试 社招 秋招

Spring源码分析(七)扩展接口BeanPostProcessors源码分析

石臻臻的杂货铺

spring 9月月更

大型网站架构

源字节1号

软件架构 后端开发

redis数据结构之压缩列表

急需上岸的小谢

9月月更

5 个 JavaScript 写法小技巧分享

掘金安东尼

JavaScript 9月月更

从改善设计的角度理解TDD

Bright

敏捷 TDD

Alibaba内传(2022更新版《面试速成手册》)流出,熬夜看到176页,YYDS!

程序知音

Java 阿里 程序员面试 后端技术 Java面试八股文

如何不编写 YAML 管理 Kubernetes 应用?

北京好雨科技有限公司

拆分电商系统为微服务

张立奎

设计模式的艺术 第二十四章策略设计模式练习(开发一款飞机模拟系统,该系统主要模拟不同种类飞机的飞行特征与起飞特征,为了将来能够模拟更多种类的飞机,试采用策略模式设计该飞机模拟系统)

代廉洁

设计模式的艺术

设计模式的艺术 第二十五章模板方法设计模式练习(用模板方法模式开发一个数据库操作模块,用户只需将SQL语句作为参数传入模板方法,则可实现连接数据库、打开数据库、操作数据库(查询或更新)、关闭数据库等操作)

代廉洁

设计模式的艺术

好代码的五个特质-CUPID

Bright

敏捷 DDD TDD

用TDD开发基于数据库的长时任务系统

Bright

敏捷 DDD TDD

容灾数据一致性保障探讨

agnostic

容灾 CAP

LeetCode-35. 搜索插入位置(java)

bug菌

9月日更 Leet Code 9月月更

Spring源码分析(八)Spring 所有BeanFactoryPostProcessor扩展接口

石臻臻的杂货铺

spring

「知识点」PropTypes提供的验证器

叶一一

JavaScript 前端 9月月更

C语言:位段、枚举、联合体

孤衫

后端 C语言 枚举 9月月更

npm run 脚本背后的事情

汪子熙

node.js 开源 npm YARN 9月月更

FreeRTOS记录(一、熟悉开发环境以及CubeMX下FreeRTOS配置)

矜辰所致

STM32CubeMX FreeRTOS 9月月更

「知识点」曾经忽略的arguments

叶一一

JavaScript 前端 9月月更

Java问题解决录: 运行时抛出NoSuchMethodError / NoSuchFieldError异常

崔认知

Mavan:自定义骨架及工程初始化

程序员架构进阶

maven 低代码 9月日更 9月月更

已献出膝盖!GitHub上的宝藏级SpringBoot核心文档,讲得太清晰了

退休的汤姆

程序员 面经 面试技巧 秋招 Java八股文

LeetCode-53. 最大子数组和(java)

bug菌

9月日更 Leet Code 9月月更

我理解的Smart Domain与DDD

Bright

敏捷 DDD TDD

C++学习------cstdint头文件的源码学习

桑榆

c++ 源码阅读 9月月更

新零售SaaS架构:商品系统架构设计

AI架构师汤师爷

系统架构 SaaS 新零售

华为云OBS+CDN的最佳成本实践,都在这里了(续)_云原生_华为云产品与解决方案_InfoQ精选文章