網站的圖片資源會見速度慢?網站存儲處事需要擴容?網站的后端存儲運維本錢高?網站數據丟失?是時候把網站的存儲遷移到云上了!
華云將為你提供一套靠譜的網站存儲上云方案,你可以不費吹灰之力、不斷一秒處事就將網站的后端存儲滑膩遷移到華云工具存儲之上,進而享受諸如彈性擴容、CDN加快、富媒體處理懲罰、防盜鏈等一系列優質處事。
觀念先容:
為了領略如何實現滑膩遷移,首先讓我們進修幾個根基觀念:
華云工具存儲(COS:ChinaC Object Storage) —— 提供高可用、高靠得住、高可擴展的工具存儲處事。你可以將任何非布局化數據,如圖片、文檔、音視頻等存儲到屬于你建設的桶中。 鏡像存儲 —— 網站滑膩遷移的基本。將COS的一個桶的鏡像存儲源站配置為你的后端存儲處事器后,當用戶會見該桶的數據時,假如數據不存在,都將去鏡像存儲源站(即你的后端存儲處事器)上抓取內容并返回用戶,同時存儲到COS的桶中。下一次再會見到該工具時,將不再需要去源站抓取,這樣即實現了網站數據的滑膩遷移。 域名綁定 —— 將一個特定的域名和華云工具存儲的一個桶舉辦關聯,通過將特定域名CNAME到COS的特定桶的域名,可以實現當會見該特定域名時,等價于會見COS的一個桶。
這幾個根基觀念大概一時欠好領略,不外接下來在我們先容網站存儲遷移的進程中,會再進一步說明這些觀念。
遷移步調
1. 遷移配景
一個簡化的網站架構如下圖所示:
說明:
一個網站內部依賴包羅存儲處事器,其他處事器(如邏輯處理懲罰處事、數據庫處事等)。在圖1所示場景下,我們只接頭圖片處事器(image servers)的滑膩遷移方案; 假設由于存儲容量、會見速度、運維本錢等的思量,網站打點員想要將圖片處事遷移到第三方云存儲處事上,期望可以帶來更高的靠得住性、更好的擴展性和更快的會見速度; 因此,一個根基的遷移要領是,將網站的數據遷移到第三方云存儲處事,并將網站的讀寫操縱也切到新的存儲處事上,如圖2所示:
然而這樣簡樸的遷移要領存在如下問題:
當讀寫操縱從mysite后端的存儲處事器(源站:image servers)遷移到第三方云存儲處事器(新站:cloud storage service)時,為了擔保處事的可用性,至少需要擔保所有的數據都已經從源站遷移到了新站,而對付一個一連寫入的系統來說,這點是很難做到的,即在讀寫操縱切到新存儲的瞬間(大概一連幾十秒到幾分鐘),需要暫停源站的寫處事并期待所有數據遷移完成,這對網站的可用性會帶來必然的影響; 讀寫遷移到新存儲的操縱不容易回滾,假如發明問題再回滾,新站和源站大概都存在用戶已經寫入的數據,這種一致性問題并不容易辦理; 假如網站的圖片文件的鏈接對用戶袒露,譬喻,用戶的手機客戶端需要會見image.mysite.com/image1.jpg這張圖片,則縱然完成了數據遷移,同樣的URL也無法會見到對應的圖片; 需要網站維護人員實現數據遷移東西,而對付數據不絕更新與變革的場景,這種遷移東西并不容易實現。
為了辦理以上各種問題,華云工具存儲(COS:ChinaC Object Storage)推出了鏡像存儲與域名綁定成果,可以實現網站靜態數據滑膩遷移到COS中。
2. 如何利用華云工具存儲
舉辦數據遷移的第一步,即申請利用華云工具存儲系統:
在注冊并登錄 在“工具存儲”處事建設Bucket
觀念說明
工具(Object)—— 工具是存儲在COS中的根基數據單元,用戶的每個文件都是一個Object,單塊上傳接口每個文件最大100M。大于100M的文件利用大工具分塊上傳接口,最多可達10000個分塊(100M * 10000 ≈ 1T)。Object包括Key、Data和MetaData。個中,Key是Object的名稱,在桶內獨一標識一個工具;Data是Object的數據;MetaData是對該Object的描寫信息。 桶(Bucket)—— 桶是工具的容器,桶名全局獨一,通過桶名和工具名可以唯必然位到詳細資源。COS答允每個用戶最多建設10個桶,而桶內里的工具個數無限制。
更多關于華云工具存儲COS的先容請拜見:
華云工具存儲處事COS
開始利用COS
3. 配置鏡像存儲
舉例,假設用戶建設了名為bucket1的桶,在Bucket打點的桶配置頁面,可以配置桶的鏡像回源地點為image.mysite.com,則此時的系統狀態如下圖所示:
留意:此時mysite的讀寫操縱并沒有遷移到COS上,因此對付mysite來說,到今朝為止的所有操縱對其處事沒有任何影響。
在完成桶的鏡像存儲源站配置后:
若用戶會見image.mysite.com/image1,則直接去源站圖片處事器讀取數據; 若用戶會見bucket1.cos-cn-guangzhou.chinac.com/image1,則請求發送到COS對應的桶中。
此時COS的邏輯是:
i. 查抄COS的桶中是否有image1的工具;
ii. 若工具存在,則直接返回給用戶,不然繼承執行;