溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么理解對象存儲和CDN實現(xiàn)分析

發(fā)布時間:2021-12-18 13:50:19 來源:億速云 閱讀:259 作者:柒染 欄目:云計算

這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)怎么理解對象存儲和CDN實現(xiàn)分析,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。


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

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

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

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

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


  使用姿勢  




示意圖:

怎么理解對象存儲和CDN實現(xiàn)分析
 

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

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

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

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

  1. 數(shù)據(jù)下載可以走對象存儲服務(wù)的域名;
  2. 也可以走 cdn 域名下載;

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


  cdn 回源使用方案  



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

  1. presign
  2. 授權(quán)讀
  3. 公共讀

 

presign


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


Policy 授權(quán)方案


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

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

  • 提供CDN域名與Bucket域名的映射關(guān)系
  • 業(yè)務(wù)和 CDN 之間的認(rèn)證方式

公有云廠商還會將業(yè)務(wù)方的 Bucket 授予 cdn 服務(wù)讀權(quán)限。這樣,當(dāng) cdn 未命中,cdn 回源,就可以使用自己的賬號向?qū)ο蟠鎯Ψ?wù)請求數(shù)據(jù)(因為開啟 cdn 的時候,已經(jīng)通過 policy 授權(quán)給 cdn 了,所以能讀到數(shù)據(jù))。


公共讀方案


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


上述就是小編為大家分享的怎么理解對象存儲和CDN實現(xiàn)分析了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

cdn
AI