云存储:阿里云 和 七牛 的比较

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
对象存储 OSS,内容安全 1000次 1年
简介:   结论:   阿里云存储 七牛云存储 标准:REST、HTTP 99%符合 50% 基本功能:送二级域名、绑定域名、CDN 支持 支持 自定义文件HTTP header 支持 少量支持 高级服务:图片处理 不提供 很完善地提供 收费策略 收费 小流量免费。

 

 

结论:

  阿里云存储 七牛云存储
标准:REST、HTTP 99%符合 50%
基本功能:送二级域名、绑定域名、CDN 支持 支持
自定义文件HTTP header 支持 少量支持
高级服务:图片处理 不提供 很完善地提供
收费策略 收费 小流量免费。大流量收费。
官方PHP SDK 差,依赖亚马逊http库,而不是PHP官方PEAR HTTP_Request2

在国内的VPS服务器厂商中,阿里云做的很好,所以项目倾向于使用阿里云开放存储服务(aliyun OSS)。

把阿里云存储官方混乱的PHP SDK 重写成PEAR,然后作为apk下载使用。

然后想把图片服务器也迁移到云存储,这样不占用VPS带宽。这时候才发现 阿里云OSS 只有最简单的文件存储功能,不支持图片处理。

比如图片服务器最常用的功能:

1、上传一张原图,实时自动生成任意分辨率的各种图片

比如原图

http://example.com/2.jpg

然后请求任意分辨率,请求时服务器自动生成并输出,比如

http://example.com/2.jpg?resolution=1280x720

2、格式自动转换

比如http://example.com/2.jpg?format=png

 

由于阿里云存储不支持图片功能,所以不能用了。考虑迁移到七牛。

参考七牛官方PHP SDK,重写成PHP PEAR包,发现七牛API不是REST。

API对比如下:

  阿里云存储 七牛云存储
上传文件 HTTP PUT 资源URI HTTP POST up.qiniu.com
删除文件 HTTP DELETE 资源URI HTTP POST rs.qbox.me
认证 HTTP header Authorization 一会儿使用HTTP header Authorization,一会儿使用POST token

阿里云存储 API CURL demo:

上传文件:

curl -i -X 'PUT' -T '1.jpg' 'http://com-163-sinkcup.oss.aliyuncs.com/1.jpg' -H 'Authorization: OSS asdf:qwer' -H 'Content-Type:image/jpeg'

删除文件:

curl -i -X 'DELETE' 'http://com-163-sinkcup.oss.aliyuncs.com/2.jpg'

七牛云存储 API CURL demo:

上传文件(可以看出七牛把bucket放在token认证中,技术上导致七牛无法实现“公共上传”):

curl -i -F 'file=@2.jpg' -F 'token=asdf' -F 'key=2.jpg' 'http://up.qiniu.com/'

删除文件:

curl -i -X 'POST' -H 'Authorization: QBox asdf' 'http://rs.qbox.me/delete/com-163-sinkcup:1.jpg'

 

可以看出:阿里云存储在技术上比较严谨,使用标准REST。七牛有的地方不再使用token,使用了HTTP header Authorization,可能正在改进。

图片功能对比如下:

  阿里云存储 七牛云存储
自动生成任意分辨率 支持
自动生成任意格式 支持
webp 支持,可节约app大量流量

七牛的图片demo:

原图 103KB:http://com-163-sinkcup.qiniudn.com/6ffe255fab20747c8872638870268703

自动生成jpg 79KB:http://com-163-sinkcup.qiniudn.com/6ffe255fab20747c8872638870268703?imageMogr/v2/auto-orient/thumbnail/1366x768/quality/80/format/jpg

自动生成webp 23KB:http://com-163-sinkcup.qiniudn.com/6ffe255fab20747c8872638870268703?imageMogr/v2/auto-orient/thumbnail/1366x768/quality/80/format/webp

由于七牛提供的图片功能极其强大,支持webp对移动互联网省流量特别重要(Android、iOS app省70%流量),而且七牛使用go语言,还写了本书(《Go语言编程》豆瓣),说明技术上实力很强,以后也许会支持REST的,所以最后决定使用 七牛云存储。

阿里云和七牛的PHP SDK都一样不规范,没法用,只能重写。我重写好了,在这里:

七牛云存储PHP PEAR包下载:http://www.cnblogs.com/sink_cup/p/PHP_PEAR_Services_Qiniu.html

阿里云存储PHP PEAR包下载:http://www.cnblogs.com/sink_cup/p/PHP_PEAR_Services_Aliyun_OSS.html

阿里云存储1%不符合标准的地方:

自定义HTTP header使用了小写,不符合HTTP常识。比如阿里云使用x-oss-acl是错误的,应该使用X-Oss-Acl。

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
目录
相关文章
|
存储 API PHP
(转)云存储:阿里云OSS 、又拍云和 七牛 的比较
阿里OSS:好处就是,那是一套完整的体系,存储,数据库,CDN,服务器,阿里都可以给你全包。缺点,费用对于没有盈利的网站来说太高了,好像定位就是给那些高端客户使用的,而且CDN,OSS的流量是分开收费,带宽(2倍成本,呵呵)。
5696 0
|
4月前
|
存储 Linux 文件存储
云:云存储介绍
云存储类型
42 0
|
存储 人工智能 安全
带你读《云存储应用白皮书》之23:10、网盘与相册服务
带你读《云存储应用白皮书》之23:10、网盘与相册服务
125 0
|
存储 NoSQL 物联网
阿里云云存储
阿里云云存储自制脑图, 介绍了阿里云云存储(OSS\TableStore\NAS )、CDN 产品。 阿里云云存储(OSS\TableStore\NAS )包括对象存储(简称 OSS)适合互联网的海量数据,表格存储( Table Store),金融、社交、物联网等行业,有海量化结构化数据,请交给表格存储( Table Store)、文件存 储(NAS ),拥有海量的文件,交给文件存 储(NAS )即可。
177 0
阿里云云存储
|
4月前
|
存储 缓存 开发工具
某海外视频网站AWS S3 搬迁至OSS解决方案
某网站主体位于AWS,经营视频直播/点播以及其他互联网衍生业务,面向广大的海外手机端客户。目前已经在使用阿里云的VOD SDK,并将主要视频数据存放于S3。现需要将业务从AWS S3迁移至阿里云OSS。
199 0
某海外视频网站AWS S3 搬迁至OSS解决方案
|
存储 缓存 前端开发
又拍云存储自建CDN技术探秘
又拍云存储是一个提供文件快速存储及通过CDN系统快速分发至全国各地访问的综合型服务商,目前主要提供图片和音频文件为主的静态小文件服务。海量小文件存储一直是业界难题,而我们数据中心的存储系统就是一个大型分布式Key/Value数据库,可很好解决小文件的存储问题(业界也有不少开源的分布式存储系统可使用,本文不再详述)。但对于小文件访问依然无法取得很好的性能,尤其是面对海量访问的情况,访问压力呈几何级数增大,对此我们有必要在此基础上加入CDN服务,以降低海量访问对数据中心造成的压力(以我们监控数据分析得到的结果:使用CDN服务可降低98%的压力)。
235 0
|
存储 安全 云计算
|
存储 安全 数据安全/隐私保护
浅谈云存储安全
云存储服务可让用户将自己的数据存储在远程的服务器里,使数据享有数据备份、数据保密和动态存储空间等好处.另外,数据拥有者也可以指自己存储在云端空间的数据分享给特定人群.然而,在方便的云存储服务里,能否确保数据的安全性是大部分使用者所担忧的。
3114 0
|
存储 数据安全/隐私保护 Linux
Diino提供云存储定制搭建服务
本文讲的是Diino提供云存储定制搭建服务,云存储厂商Diino针对他们的备份和恢复产品推出了一个合作计划。其被称为White Label Backup & Recovery,该计划面向美国的电讯服务供应商,互联网服务供应商和其他合作伙伴。
1112 0