七牛雲存儲還有一個獨一無二的特性——支持用戶將文件從客戶端直傳到雲服務器中

目前七牛已經擁有數千家客戶,你會發現其中有不少都是像知乎、Weico、Camera360、美圖秀秀、蟬遊記和Vida等UGC(用戶產生內容)類產品,尤爲是在圖片社交領域。這是由於,除了我在前面所說的「雲存儲」比傳統方案更節省成本外,七牛雲存儲還有一個獨一無二的特性——支持用戶將文件從客戶端直傳到雲服務器中。由於我看過蟬遊記CTO Quake撰文寫過這一特性,因此就直接引用他的原文來作說明:html

常見的雲存儲上傳文件流程通常以下:api

用戶 =>應用服務器 =>雲存儲提供商七牛雲存儲

這樣多了一次上傳的流程,和本地存儲相比,會相對慢一些。安全

而七牛提供了客戶端自傳的功能,流程能夠改爲:服務器

用戶 =>七牛 =>應用服務器架構

用戶直接上傳到七牛的服務器,經過DNS智能解析,七牛會選擇到最近的最合適的ISP服務商節點,速度會比原先快不少,上傳成功之後,七牛的服務器使用回調功能,只須要將很是少的數據(好比key)post迴應用服務器,應用服務器進行保存便可。運維

 

19eaeac6-12ef-3f81-8c81-71e4646aabe7

 

開發者若是但願使用這個功能只需在產品裏添加相關的SDK便可,另外,七牛也在架構中提供了「上傳加速」服務,能夠爲用戶智能選擇最近的數據中心和最快的線路進行數據上傳,從而達到最佳的上傳速度。這個技術的難點在於必須保證數據中心間數據的一致性,我在《Facebook最偉大的技術成就有哪些?》一文中詳細闡述這一作法的重要性。工具

除了速度之外,開發者通常還會關心另外兩個問題:數據的安全性和數據的遷移成本。post

在安全性方面,目前七牛雲存儲使用了3副本備份以及多數據中心備份來保證防止數據丟失的安全性,並經過將數據分塊存儲於多個服務器等多種安全措施的組合來防止數據被竊取。調試

在遷移成本上,七牛雲存儲開發了幾個工具來幫助用戶進行數據遷移:

1. 鏡像存儲。可以在不更改原站數據的狀況下,被動地抓取原站數據,並把數據保存在七牛雲存儲上。

2.上傳工具。可以直接同步本地目錄及其子目錄下的全部文件到服務器雲端。

3.定時同步工具。開發者能夠設置定時檢測本地文件的改變,並同步修改部分,還能設定同步刪除。

除了以上3個工具外,他們也提供經過硬件導入的大型數據的遷移服務。不過不一樣於其餘的雲存儲服務,七牛雲存儲並不兼容亞馬遜S3,因此使用亞馬遜S3服務的產品遷移過來會相對麻煩一些。

 

3ce31611-831d-35a1-be1c-a95fb62faf6c

 

固然,除了速度、穩定性和遷移成本外,爲了更好地爲開發者服務,參與市場競爭,如今的雲存儲廠商也開始在基礎雲存儲服務上提供一些輕量的PaaS服務。例如七牛就針對圖片和音視頻等富媒體內容提供了雲端處理服務,好比對應視頻雲存儲推出了音頻/視頻的轉碼和截取工具,同時他們可以支持100MB以上的視頻存儲。他們也針對開發者提供了一些開發環境下的調試工具。

做爲一家創業公司,七牛在兩年內的業務發展速度很快,但他們的公司人數卻沒有與之成正比——目前爲止,團隊成員大約40人,其中90%都是技術人員。七牛也但願經過技術手段來提高每一位員工的生產率,好比儘量的將運維繫統自動化從而保持團隊的精煉。他們將當前的重心放在了服務能力的擴增上——目前七牛在全國已經有超過500個加速節點,2012年年末拿到的融資可以讓他們在今年更好地實施這一計劃。

http://developer.qiniu.com/

上傳流程

在七牛雲存儲中,整個上傳流程大致分爲這樣幾步:

  1. 業務服務器頒發 上傳憑證給客戶端(終端用戶)
  2. 客戶端憑藉 上傳憑證 上傳文件到七牛
  3. 在七牛得到完整數據後,發起一個 HTTP 請求回調到業務服務器
  4. 業務服務器保存相關信息,並返回一些信息給七牛
  5. 七牛原封不動地將這些信息轉發給客戶端(終端用戶)

須要注意的是,回調到業務服務器的過程是可選的,它取決於業務服務器頒發的 上傳憑證。若是沒有回調,七牛會返回一些標準的信息(好比文件的 hash)給客戶端。若是上傳發生在業務服務器,以上流程能夠天然簡化爲:

  1. 業務服務器生成上傳憑證(不設置回調,本身回調到本身這裏沒有意義)
  2. 憑藉 上傳憑證 上傳文件到七牛
  3. 善後工做,好比保存相關的一些信息

http://developer.qiniu.com/docs/v6/sdk/c-sdk.html

http://www.gougousoso.com/u/yun/8.html

相關文章
相關標籤/搜索