Home  >  Article  >  Backend Development  >  线上数据怎么热迁移到七牛云

线上数据怎么热迁移到七牛云

PHPz
PHPzOriginal
2016-06-06 20:28:271215browse

线上数据怎么热迁移到七牛云

线上数据怎么热迁移到七牛云?

方案一:完全使用七牛镜像存储功能

注意:此方法仅针对少量数据的网站,对于数据量比较大(尤其是 UGC -- 用户产生内容)的网站,建议用下面的方案二

利用七牛提供的镜像存储功能,可以非常简单地将源站的数据 被动 地同步到七牛云存储中,所谓 被动同步 即——只有在资源被访问时,七牛才会回源站获取一次,此后对该资源的访问都不会再发生回源动作,而是直接从七牛这里拿到数据。

有人可能会问,既然七牛对一个资源只会发生一次回源请求,后面的都不回源获取,那么如果源站的资源发生了变动,该如何将新的资源同步到七牛?这里我们提供两个方案:

调用七牛提供的 delete 接口,将变化的资源删除既可。这样七牛在下一次被访问的时候,会再次回源获取。如果资源变动数量很小,可以更加简单地在开发者后台的内容管理中,或者使用七牛提供的 qboxrsctl 命令行工具直接删除已变化的文件既可。

调用七牛提供的 prefetch 接口,该接口会比 delete 接口多做一个 预取 的操作,即在该接口调用时,七牛会立刻回源获取一次新的数据,而不是等到下一次访问的时候才去源站获取。

PS:

登录开发者后台开启镜像存储功能

qrsctl 工具获取方式:

http://developer.qiniu.com/docs/v6/tools/qboxrsctl.html#download

方案二:七牛镜像存储功能 + 一套迁移方案

方案一适用于将源站保留的前提下进行数据的热迁移,同时享受到七牛提供的加速和数据处理服务。如果您想将源站的数据完全一下子迁移到七牛,而源站的数据量又十分庞大,担心在数据迁移的过程中出现源站的资源被动态更新,但导入到七牛的数据还是老数据的情况,那么可以使用如下的数据迁移方案。

如何在不影响现有服务的前提下,将源站的数据完整地迁移到七牛呢?我们提供一套成熟的迁移方案供您参考:

第一步,开启镜像存储,并将用户对源站资源的访问切换到从七牛这里访问,同时在源站保持使用 prefetch 接口预取更新变化了的资源。

第二步,将资源的上传动作从源站切换到七牛,这样用户对资源的修改动作会直接更新七牛中存储的内容,此时源站的资源数据已经变成一个静态的集合,因此可以撤销第一步中对 prefetch 接口的使用。

第三步,放心地将源站的静态资源数据增量地导入七牛的存储,存储中已有的资源不再导入,只导入存储中还不存在的资源。

更多PHP相关知识,请访问PHP中文网!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn