简介
七牛提供的是分布式存储和加速分发服务。其中尤以分布式存储为核心部分。
客户在准备接入七牛的时候一般有两种场景。
第一种是客户的业务从设计开发的时候就采用七牛的云存储服务,那么这种情况下,直接将文件上传到七牛,然后再使用七牛的加速分发服务即可。
第二种是客户的业务已经建立起来后才准备接入七牛。这种情况下会遇到两个问题,第一个是需要修改上传的业务逻辑
,第二个就是如何迁移已有的数据
。修改上传的业务逻辑的话,可能涉及到很多项目代码的修改,持续时间可能比较长。已有的数据可以使用七牛提供的同步工具上传到七牛,但是在上传之后由业务系统产生的新数据总不能每次都找出增量来上传,所以这个时候就可以用到镜像存储了。
七牛的镜像存储服务是一种快速的数据迁移和加速服务。可以帮助用户实现无缝数据迁移,迁移过程中并不影响原有业务系统的访问。镜像存储适用于迁移原有业务系统的已有数据。
业务模型
传统的业务系统模型如下:
在这种业务模型之下,页面的访问和图片,视频等数据的访问是在不同的域名之下,这也是七牛镜像存储所要求的基本结构。即动态的页面内容和静态的非结构化数据的访问必须要分开在不同的域名之下
。
镜像存储业务模型如下:
在镜像存储的业务模型里面,原来的图片或者视频访问域名将被配置为七牛的源站,而页面里面引用图片或视频链接的地方必须使用新的访问域名。然后将新的访问域名绑定(CNAME)到七牛空间对应的域名。在这些操作完成之后,终端用户就可以通过七牛访问图片或者视频等非结构化资源了。在每个访问请求到七牛的时候,如果七牛空间中不存在这个资源,那么七牛将主动回客户源站抓取资源并存储在空间里面,这样七牛就不需要再次回源客户的资源站点了。
配置步骤
步骤一:将非结构化数据的源站配置为七牛空间的镜像源站。选择空间,然后在空间的空间设置
里面,可以找到基本设置
->镜像存储
。然后将源站用于回源抓取资源的域名配置在这里。比如将空间image1
的镜像源站配置为http://image1.abc.com
。
步骤二:为空间申请自定义域名,该域名将是新的资源外链的域名。注意备案号要填正确的。在域名设置
->自定义域名
那里。比如为空间image1
申请自定义域名image11.abc.com
,该域名必须是当前业务系统里面没用使用的子域名。
步骤三:自定义域名审核通过之后,在客户的DNS服务设置那里,就可以根据审核通过后提示的CNAME目标来将自定义域名绑定到七牛的空间域名。
步骤四:修改页面中的资源引用域名为新的自定义域名。比如,将新的图片资源外链域名改为http://image11.abc.com
。
常见问题
Q1. 七牛的镜像存储和传统的CDN区别是什么?
七牛镜像存储是一种数据迁移的方式,其回源客户的源站也仅仅回源一次,成功抓取资源到七牛的空间之后,不再回源。七牛的存储外面还有一层CDN分发网络,这一层的CDN分发网络才是和传统的CDN相同的功能。
Q2. 七牛的镜像存储的情况下,如何将源站更新的内容同步更新到七牛的空间?
七牛镜像存储的回源操作对相同的文件只抓取一次,后面如果客户的源站更新了文件内容,需要手动调用prefetch接口来更新七牛空间中的文件,保持内容和客户源站内容相同。另外七牛外围的CDN如果需要及时更新缓存的话,也需要利用七牛后台提供的外链刷新功能来刷新CDN的缓存。在空间设置
->高级设置
->缓存刷新
那里。如果不需要及时更新,那么等待CDN自动更新也可以。
Q3. 七牛的镜像存储是否需要永久保留?
七牛的镜像存储是数据迁移的一种方式,之所以提供这种数据迁移方式是为了给客户修改上传的业务逻辑提供方便。在上传的逻辑改为直传七牛之后,后续产生的新的数据将直接存储在七牛的空间。这样在镜像存储保留一段时间之后,源站的回源流量将逐渐趋于0,在这个时候就可以将镜像功能删除了。
Q4. 七牛的镜像存储需要修改资源的访问外链域名,如何使用和原有的资源域名相同的域名?
七牛的镜像存储会将原始的资源访问域名设置为源站,而新的资源访问域名必须采用和原始资源访问域名不同的域名。如果需要使用和原有资源域名相同的域名的话,首先需要将镜像源站的域名替换为一个新的子域名或者直接使用IP地址;然后将原有的资源域名申请配置为七牛空间的自定义域名;配置成功之后,进行CNAME操作,这样原有的页面里面的资源就不需要更改外链域名了。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。