基於AWS的檔案同步服務系統架構

abel_cao發表於2015-02-05

鑑於Web服務上的資源可以通過它們的URL就能識別,採用無狀態的客戶端 – 伺服器架構,開發團隊就可以為部門間,為企業,或者直接用於消費者自由地建立應用完成檔案共享和同步。

下圖描述了利用AWS實現的可擴充套件性和成本效益的檔案共享和同步平臺的核心架構。

1.  檔案同步服務端點是Elastic Load Balancer, 將呼入請求分發到一組基於AmazonElastic Compute Cloud (Amazon EC2) 例項上的應用伺服器。 根據應用需要,Auto Scaling 可以自動調整AmazonEC2 例項的數量。

 

2.  為了上傳一個檔案,客戶端首先需要請求服務的許可權和安全令牌。

 

3.  在檢查使用者標識後,應用伺服器從AWSSecurity Token Service (STS)得到一個臨時憑據,這一憑據允許使用者上傳檔案。

 

4.  使用者將檔案上傳到 Amazon Simple Storage Service(Amazon S3)中, Amazon S3 可以在任何時候很容易地儲存和檢索任何數量的資料。

 

5.   檔案的描述資料,版本資訊和唯一標識通過應用伺服器儲存在AmazonDynamoDB 的表中。隨著應用所維護的檔案數量的增長, Amazon DynamoDB  可以相應增長,能夠存取任意數量的資料,服務於任何流量水平。

 

6.  檔案改變通知可以通過Amazon Simple Email Service(Amazon SES)以郵件的方式發給使用者,這是一個易用的低成本電子郵件解決方案。

 

7.  其他客戶端共享相同的檔案,同時查詢服務端點,以檢查是否有更新的版本可供選擇。該查詢比較的本地檔案校驗和與mazon DynamoDB表中列出的檔案校驗。如果查詢到較新的檔案,服務端點就可以從Amazon S3檢索出該檔案併傳送到客戶端應用程式。


相關文章