對象存儲和高防CDN實現(xiàn)分析揭秘

來源:cdnfine
作者:cdnfine
時間:2020-12-10
3097
分享一個對象存儲和高防CDN配合使用的話題,一般來講,公有云廠商提供對象存儲的服務之外,還會附帶一些增值服務,這些服務是適配不同的應用場景的。什么意思?對象存儲本質上解決了海量存儲的問題,但是數(shù)據(jù)不僅要可靠的存儲,大部分情況數(shù)據(jù)還要處理才會有價值,所以一般公有云廠商還會有數(shù)據(jù)處理的服務,比如圖像處理,類似縮略圖,音視*頻轉碼,視屏截幀。其次,數(shù)據(jù)訪問,也有特殊需求,比如一次上傳,多次下載的場景,就配合使用CDN的服務,因為高防CDN的下載流量會比對象存儲服務下載的成本要低。

分享一個對象存儲和高防CDN配合使用的話題,一般來講,公有云廠商提供對象存儲的服務之外,還會附帶一些增值服務,這些服務是適配不同的應用場景的。什么意思?

對象存儲本質上解決了海量存儲的問題,但是數(shù)據(jù)不僅要可靠的存儲,大部分情況數(shù)據(jù)還要處理才會有價值,所以一般公有云廠商還會有數(shù)據(jù)處理的服務,比如圖像處理,類似縮略圖,音視*頻轉碼,視屏截幀。

其次,數(shù)據(jù)訪問,也有特殊需求,比如一次上傳,多次下載的場景,就配合使用CDN的服務,因為高防CDN的下載流量會比對象存儲服務下載的成本要低。

什么是CDN?全稱Content Delivery Network,本質上是部署在各地的邊緣服務器,提供數(shù)據(jù)的就近訪問體驗,并有效降低數(shù)據(jù)服務器后端壓力。

從技術實現(xiàn)來講,CDN其實是后端服務器的緩存代理。

示意圖:

2105004157-0.jpg

公有云廠商提供對象存儲服務的同時,還會提供cdn服務,因為這兩個服務都是一家,所以自然方便協(xié)同操作。

數(shù)據(jù)上傳:

數(shù)據(jù)上傳走對象存儲服務的域名(endpoint);

數(shù)據(jù)下載:

數(shù)據(jù)下載可以走對象存儲服務的域名;

也可以走cdn域名下載;

對象存儲開啟cdn之后,客戶端使用cdn服務的域名請求數(shù)據(jù)。如果數(shù)據(jù)不在cdn服務,cdn服務會自動使用對象存儲Bucket域名回源,拉取數(shù)據(jù)到cdn的緩存下來。這樣之后的壓力全都卸載于cdn服務上。所以,從以上描述我們再一次體會:cdn其實就是簡單的后端存儲服務的緩存代理。如果業(yè)務要使用cdn的話,需要明確cdn服務的域名,對象存儲的域名,將映射關系配置在cdn服務中(這一步其實是公有云廠商幫我們做好)。上傳數(shù)據(jù)使用對象存儲域名,讀取數(shù)據(jù)使用cdn域名。

cdn回源使用方案

cdn在用戶請求不命中的時候,需要回源后端拉取數(shù)據(jù)。那么不知道大家有沒有思考過,CDN加速使用什么樣的方案才能正確的獲取數(shù)據(jù)呢?(因為S3協(xié)議是有權限校驗的,也就是數(shù)字簽名,S3 v4協(xié)議會把host簽在數(shù)字身份校驗中,也就是說,一般情況,cdn是無法直接轉發(fā)的)。一般,對象存儲服務和cdn配合實現(xiàn)有三種解決方案:

presign

授權讀

公共讀

presign

presign也叫預簽名。這種方案是客戶端把簽名完全準備好,所有的簽名元素和校驗全都在query url里面。cdn這種場景下真的就是做一個純粹轉發(fā)代理。但presign有個限制是只能使用S3 V2版本簽名,因為cdn回源時host會變,v4版本簽名會簽host,所以這種情況下簽名校驗會不通過。

Policy授權方案

這個是通用的方式,S3的Bucket支持細粒度的權限分配,也就是Policy策略。它允許把各種操作權限分配給各種指定的對象。

在公有云上,用戶申請cdn服務的資源,主要做幾個配置(公有云廠商幫你搞定的):

提供CDN域名與Bucket域名的映射關系

業(yè)務和CDN之間的認證方式

公有云廠商還會將業(yè)務方的Bucket授予cdn服務讀權限。這樣,當cdn未命中,cdn回源,就可以使用自己的賬號向對象存儲服務請求數(shù)據(jù)(因為開啟CDN加速的時候,已經通過policy授權給cdn了,所以能讀到數(shù)據(jù))。

公共讀方案

S3的Bucket是可以配置成公共讀,也叫做匿名訪問。隨便任何客戶端直接curl都能得到數(shù)據(jù),所以cdn自然也能得到數(shù)據(jù)。這個是一個特殊方案,我們通常不會這樣操作。這種方式可想而知,適用場景有限,因為數(shù)據(jù)安全是無法保證的。

立即登錄,閱讀全文
原文鏈接:點擊前往 >
文章來源:cdnfine
版權說明:本文內容來自于cdnfine ,本站不擁有所有權,不承擔相關法律責任。文章內容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權,請聯(lián)系管理員(zzx@kchuhai.com)刪除!
掃碼關注
獲取更多出海資訊的相關信息
優(yōu)質服務商推薦
更多
掃碼登錄
打開掃一掃, 關注公眾號后即可登錄/注冊
加載中
二維碼已失效 請重試
刷新
賬號登錄/注冊
個人VIP
小程序
快出海小程序
公眾號
快出海公眾號
商務合作
商務合作
投稿采訪
投稿采訪
出海管家
出海管家