50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

华为云 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:052147

评论

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

Gitee 如何自动部署 Pages?还是用 GitHub Actions!

冴羽

GitHub 前端 GitHub Pages gitee vuepress

跟着源码学IM(九):基于Netty实现一套分布式IM系统

JackJiang

Netty websocket 即时通讯 IM

vivo:不做开发者的过客,变成IoT的归人

脑极体

基于区块链的去中心化身份技术有哪些应用前景?

CECBC

🏆【CI/CD技术专题】「Docker实战系列」(1)本地进行生成镜像以及标签Tag推送到DockerHub

码界西柚

Docker 容器镜像 12月日更 Dockerhub

不要被数据蒙蔽你的眼睛

Geek_utwige

数据分析 统计学 辛普森悖论

复盘健康

将军-技术演讲力教练

花一点时间优化一次年迈的后台系统的检索体验

为自己带盐

28天写作 12月日更 ​jQuery

CSS之变量

Augus

CSS 12月日更

如何看待制造企业的数字化转型,有哪些成功案例可以分享?

优秀

低代码 数字化转型 制造业

☕【Java深层系列】「技术盲区」让我们一起完全吃透针对于时间和日期相关的API指南

码界西柚

Java 工具 日期处理 12月日更

网络安全教程:13 信息收集

喀拉峻

黑客 网络安全 安全 信息安全

聊聊你每天是如何修bug的

卢卡多多

bug修复 28天写作 12月日更

在Vue-cli中使用mock.js

CRMEB

开发者供不应求,传统企业如何拥抱 DevOps ?

飞算JavaAI开发助手

王者荣耀异地多活架构设计

Beyond Ryan

优酷播放黑科技 | 基于WebRTC实现的直播“云多视角“技术解析

阿里巴巴终端技术

WebRTC 移动开发 直播技术 客户端

怎样的活动才算是成功?(20/28)

赵新龙

28天写作

GrowingIO Reactor速成指南

GrowingIO技术专栏

响应式编程 reactor

PassJava 开源(一) :初始化项目和添加微服务

悟空聊架构

SpringCloud 28天写作 passjava 悟空聊架构 12月日更

如何提高用户留存?

石云升

AARRR 产品思维 28天写作 产品增长 12月日更

Dubbo框架学习笔记七

风翱

dubbo 12月日更

电竞进入5G时代!腾讯云联合腾讯游戏CROS首秀5G电竞专网

科技热闻

NFT改变潮流,也在解放人类创造力的约束

CECBC

十二张图带你了解 Redis 的数据结构和对象系统

程序员历小冰

redis 数据结构 28天写作 12月日更

如何正确的重写hashcode()

李子捌

Java 28天写作 12月日更

vue3.2组件库-element plus 自动按需引入

Mr.Cactus

typescript Vue3 Element Plus Vite2

如何推动区块链与物联网深度融合,赋能数字化转型?

CECBC

Python 的切片为什么不会索引越界?

Python猫

Python

JavaScript面试系列:JavaScript设计模式之桥接模式和懒加载

汪子熙

JavaScript 设计模式 桥接模式 28天写作 12月日更

动手做个 AI 机器人,帮我回消息!

程序员鱼皮

JavaScript AI 前端 nlp Node

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