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

1447 篇文章 12 订阅
1447 篇文章 7 订阅

结论:

 

阿里云存储

七牛云存储

标准: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。

转载于:https://www.cnblogs.com/sink_cup/p/cloud_storage_aliyun_oss_vs_qiniu_rs.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值