开发者社区> 问答> 正文

[W800/CB6201]数据如何上云

[W800/CB6201]数据如何上云

展开
收起
平安hz 2020-12-17 10:38:14 561 0
1 条回答
写回答
取消 提交回答
  • 整个迁移过程分为下面几个步骤:

    配置Bucket回源属性,配置好数据在OSS读取miss之后回源的地址。配置好之后如果访问某Object miss的时候你的客户端可以根据OSS返回的302重定向去配置的地址读取文件; 配置迁移工具,从源端向OSS迁移数据,这一步不影响您的业务,异步的从源站将数据搬迁到OSS; 数据搬迁接近完成的时候,将业务上的读写从之前的源站切换到OSS; 等待迁移工具从源搬迁完所有的老数据(这种场景下如果您的业务有对数据的覆盖写是需要注意的,可能会造成老数据覆盖新数据) 如上所说,我们有两种方式Bucket回源属性可以做到无缝迁移,即镜像和重定向:

    3ade298d1ba8eef4528d55fff8876a44fafc99b3

    上图是“利用镜像做无缝数据迁移示意图”,图中带有数字标记的箭头就是数据访问miss时的数据流向。在镜像回源的方式下用户访问OSS如果Object miss,那么OSS会替用户从源站读回文件,并写入到OSS,这样一来,如果用户的请求可以遍历所有的文件,那么这个异步的迁移过程其实是可以省略掉的(当然,这也会带来一些新的问题,后文我们会提到)。a181f3a6dc267eea562fbd15d902d9958a98f6d7

    上图是“利用重定向做无缝迁移示意图”,图中有数字标记的箭头就是数据访问miss时的数据流向。在配置重定向回源的方式下,如果Object miss,那么需要您的客户端去源站去读取一次数据。这就要求您的客户端要能理解http协议中的3xx重定向语义(OSS的重定向回源是通过3xx重定向来实现的)。需要注意的是,在这种回源方式下,OSS不能自动帮用户搬迁数据,用户的数据必须依靠迁移工具/服务来异步的搬迁到OSS上面来。

    图中也能看到在这种场景下配合CDN一起使用,那么文件会cache在CDN上,无需每次miss之后都回源站读取,也是一种减少延迟、节省源站流量的方式。如果不使用CDN,那么就需要用户自己完成回源站读取数据的过程。

    纵观上面的两张图,在您配置Bucket的回源属性之后,再开启数据迁移过程,在业务数据大部分都搬迁到OSS之后,再将整个业务的读写全部切换到OSS。这个时候回源功能就能帮您处理那些尚未搬迁过来的数据,无需停服,无缝衔接。等到所有的数据都搬迁完毕之后就可以关闭回源,停掉数据迁移,整个向OSS迁移数据的方式就完成了。

    2021-02-24 18:03:56
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载