对象存储 入门

上一次写了一些 cdn 的使用心得,这次继续。我觉得,为了省钱,或者能找个免费的静态空间,有必要补充写一篇「对象存储」的文章。

这次主要是文字说明,不会图文并茂的具体讲如何配置对象存储,只会说原因,以及大致配置注意点。

什么是对象存储

这次不引用别人的说法。我自己说说理解。

对象存储就是服务商提供的网络存储空间,可以简单理解为 FTP 空间。

但它同时提供加密访问,可以保证你公司的私有文件,外人不能直接访问到。这就是第一种用法,加密访问。

此外,还有一种用法。随着技术发展,基本上每家服务商都提供静态文件托管功能,就是你直接上传静态页面,稍作配置,就可以变成静态服务器,外网就可以访问了。当然,你如果不想手动上传,可以使用回源功能,当访问的资源找不到,会自动回源到你的服务器进行抓取。

但是对象存储是固定服务器位置,比如在青岛。虽然速度还可以,但是想要各个地区都实现极速访问,还是得和 cdn 联系起来。

各个平台的说明

和 cdn 差不多,各个平台功能上差异不大。目前我发现七牛只能给一个测试用的域名(各种限制),其他的服务商都会给他们自己提供的域名。七牛只能配合 cdn 来配置自己的域名。

费用上,对象存储主要收取存储费,按空间计算。同时还有流量费,请求次数费。如果配置了回源,那么还有回源费。反正计算点很多。阿里云对象存储还要区分服务器位置,不同位置要购买不同套餐(流量包等)。

由于曾经的无知,给同事带去过小的灾难,所以关于费用上,我不多说了,请自行研究斟酌。

如何搭配使用

或许你开始糊涂了,没关系,这里确实很烦人。我把常见的想法列举下,讨论他们的特点。嗯,有的方案不是不行,是不好。

我们以架设一个静态网站为目的,实际考虑下。

方案一:自己不准备服务器,直接把静态网站放到对象存储上,让用户绑定域名访问?

这样最省钱,直接上传静态网站到对象存储上,配上自己的域名,OK 了。

优点:非常省钱。

缺点:修改网站需要重新上传,各地访问速度一般。

方案二:自己不准备服务器,直接把静态网站放到对象存储上,再配合 cdn 加速访问?

比上面的方案多花一点钱,但是速度问题解决了。不过要考虑刷新 cdn 缓存问题。

优点:比较省钱,访问速度快。

缺点:修改网站需要重新上传,cdn 缓存处理。

方案三:自己准备服务器,直接配合 cdn 加速访问?

自己有独立服务器,开销大一些了。直接配上了 cdn,成本再次提升。当然访问速度非常快了。每次更新静态网站,也需要考虑刷新 cdn 缓存。

优点:成本最高,访问速度快。自己通过脚本等方式上传管理好自己的服务器,不用每次去服务商那里上传。

缺点:这是最贵的方案,还需要 cdn 缓存处理。

方案四:自己准备服务器,配置对象存储(回源到自己服务器),再配置 cdn(回源到对象存储),加速访问?

这个方案比起上一个,中途还绕路对象存储了,太麻烦了。但为什么有这么复杂的方案呢?这必须和速度以及价格联系着说。

简单说来,方案三,cdn 默认配置的缓存失效后,会自动回源访问。这个费用较高。而且速度慢。

但如果让 cdn 访问服务商对象存储服务,价格较低。速度快。

假设你的服务器在北京,非常烂,每个资源需要 0.1 秒。国内 cdn 有 100 个节点,缓存为1天。假设一周内,所有文件不做任何修改。

那么方案三,一周回源你服务器次数:100 * 7 = 700 次。全国 100 个节点,都访问你的破服务器,每次 0.1 秒,700 次,70 秒浪费了。

换成方案四:你服务器在北京,你购买对象存储一定也选择北京。一周回源对象存储次数:100 * 7 = 700 次。对象存储回源你的服务器,只需要 1 次,浪费了 0.1 秒。由于对象存储在北京是非常好的机房,速度快。全国 100 个节点回源北京的对象存储服务器,需要浪费 700 * 0.01 = 7 秒。

一个是 70 秒,一个是 7.1 秒。不言而喻。

而且对象存储回源服务器只需要 1 次,所以只需要考虑 cdn 回源到对象存储的费用。这个费用略低于 cdn 回源你的服务器费用。虽然对象存储有存储费等额外费用,但是这套方案仍有价格优势。

如何选定方案

上面的四个方案,都是可行的,但各有利弊。

# 自己准备服务器 对象存储维护 cdn 额外维护 费用
方案一 X X
方案二 X 一般
方案三 X 最高
方案四 比较高
  • 如果速度要求不高,不用选择 cdn。对象存储速度也还好。
  • 如果希望网站走 https,那么必须用 cdn,cdn 可以起到代理作用。
  • 自己是否假设服务器,主要看网站。比如你是 PHP 网站,但是可以静态化啊,所以如果你希望自己手动静态化,可以直接把静态网站放到对象存储上面。否则就用对象存储回源。

如何进行配置

这个配置没那么复杂,简单说说就好。

存储类型:默认选择标准存储就好。低频存储和归档存储主要是给公司业务加密访问备档使用的。

读写权限:公共读(私有写)。就是说读取不要权限,写入需要权限。

静态页面 / 默认首页设置:需要开启。

回源设置:配置好你的源服务器。同时还支持 CORS 跨站处理。