程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 雲存儲:阿裡雲 和 七牛 的比較

雲存儲:阿裡雲 和 七牛 的比較

編輯:關於PHP編程

結論:

  阿裡雲存儲 七牛雲存儲 標准:REST、HTTP 99%符合 50% 基本功能:送二級域名、綁定域名、CDN 支持 支持 自定義文件HTTP header 支持 少量支持 高級服務:圖片處理 不提供 很完善地提供 收費策略 收費 小流量免費。大流量收費。 官方PHP SDK 差,依賴亞馬遜http庫,而不是PHP官方PEAR HTTP_Request2 差

把阿裡雲存儲官方混亂的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  -T   -H  -H 

curl -i -X  

七牛雲存儲 API CURL demo:

上傳文件(可以看出七牛把bucket放在token認證中,技術上導致七牛無法實現“公共上傳”):

curl -i -F  -F  -F  

curl -i -X  -H  

 

可以看出:阿裡雲存儲在技術上比較嚴謹,使用標准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。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved