写点什么

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

评论

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

ButterKnife被弃用,ViewBinding才是findView的未来?,秀出天际

android 程序员 移动开发

ConstraintLayout 1,flutterrow换行

android 程序员 移动开发

APP瘦身大法--AndResGuard的使用,android地图开发框架

android 程序员 移动开发

BAT同系列公司面试总结,哪些你所不知道的,学习android的好书

android 程序员 移动开发

(完整版)直播回顾:2021 MAXP 无服务器赛题讲解

亚马逊云科技 (Amazon Web Services)

人工智能 云计算 创新大赛

BAT面试有关散列(哈希)表的面试题详解,flutter图片压缩上传

android 程序员 移动开发

Dart _ 什么是Stream,安卓开发不得不会

android 程序员 移动开发

EventBus核心原理其实保存这三张图就可以弄懂了,收藏一下

android 程序员 移动开发

关于数据导入,教你几招

Simon

MySQL

Chameleon跨端框架——壹个理想主义团队的开源作品,旧版android模拟器

android 程序员 移动开发

ConstrainLayout 基础教程2,2021Android精选面试实战总结整理

android 程序员 移动开发

Dart Flutter 1,flutter页面跳转动画

android 程序员 移动开发

DialogFragment探索与实现,音视频编解码技术

android 程序员 移动开发

如何打造实时性的弹窗?

神策技术社区

UI sdk Android;

FART:ART环境下基于主动调用的自动化脱壳方案,androidndk开发教程

android 程序员 移动开发

AsyncTask相关知识,安卓工程师面试题及答案

android 程序员 移动开发

BAT常见Android面试20题详解,985研究生入职电网6个月

android 程序员 移动开发

BAT资深面试官-带你破解Android高级面试,渣本逆袭大厂面经分享

android 程序员 移动开发

ConstraintLayout 2,android双击事件响应

android 程序员 移动开发

Dart 层如何 兼容 Android 和iOS平台特性 (1),Android开发面试技巧

android 程序员 移动开发

DateUtils(一个日期工具类),androidauto百度地图

android 程序员 移动开发

BroadcastReceiver源码分析,一线互联网大厂中高级Android面试真题收录

android 程序员 移动开发

JMH实践记录

Clarke

JMH性能基准测试

Base64 的原理、实现及应用,面试字节跳动Android工程师该怎么准备

android 程序员 移动开发

BroadcastReceiver官方概览,【面试总结

android 程序员 移动开发

Butterknife源码分析,android开发环境搭建实验报告

android 程序员 移动开发

ByteDance张一鸣:抖音很多年轻人,出色的都有这些闪光点

android 程序员 移动开发

APP瘦身大法--AndResGuard的使用(1),为什么阿里的程序员成长如此之快

android 程序员 移动开发

App黑白化实现扩展,一键护眼模式,给App,安卓事件分发机制面试

android 程序员 移动开发

Context那些你不知道的事?,张口就来

android 程序员 移动开发

Coroutine 基本原理,Android开发大佬的百度美团快手等大厂Offer收割之旅

android 程序员 移动开发

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