
我很好奇,舉個例子:
Facebook 是 Akamai CDN 的客戶。
因此,現在當我登入 Facebook 頁面時,我會看到所有內容(影片、圖像、文字等),然後我點擊影片即可查看。現在,Facebook 是 Akami 獲取內容的用戶端。
那麼,當Facebook 向Akami 發出請求時,Akamai 是否會將視訊/圖像從其資料中心轉儲到Facebook 的資料中心,並在那裡駐留一段時間(取決於他們的啟發法)並在一段時間後刷新?
或者,我直接從 Akamai 的伺服器觀看該影片(串流)?
更新1
資料永久駐留在 CDN 中(已同意),但也是發送到 Facebook 資料中心的內容的副本
更新2
好的,根據 Josh 的回答,這張 Akamai 架構的圖像,我可以說,「IMAGE」實際上儲存在 akamai 的伺服器中,而圖像的引用(URL)位於我們看到的 Facebook HTML 頁面中?
答案1
Akamai 的配置是高度可配置的,但通常,您可以定義要儲存的內容類型以及儲存時間(在 Akamai 的網路和使用者的瀏覽器上)。 Akamai 也擁有多層系統,因此,如果使用者從本機 Akamai 伺服器發出請求,如果該伺服器沒有內容,則會從父層要求該內容。如果該父母沒有它,則父母層將從祖父母層請求它。之後,Akamai 祖父母層將從來源請求它。一旦它提取內容並將其發送給用戶,它就會將其儲存在快取中(在每一層)。任何後續請求均由 Akamai 網路處理。如果不再請求該內容,它最終會從快取中清除。如果 Akamai 伺服器繁忙,則未使用的內容將比不繁忙時更快被清除。
我不相信 Akamai 有能力在其伺服器上儲存使用者內容,他們的網路不是為此設計的。當你將圖像上傳到 Facebook 時,你就是將其上傳到 Facebook 的伺服器(我記得讀過 Facebook 上的白皮書)自訂檔案系統處理圖像請求)。
在普通網站上,Akamai 可能會帶走高達 95% 的流量,具體取決於配置。在這樣的事情上,我認為不會那麼高,但任何百分比都會有幫助。
乍一看,我認為 Akamai 不會提供太多幫助,而普通用戶配置文件元素的訪問量不足以產生影響。但我想,如果您在您所在的地區非常受歡迎,那麼當其他人透過同一本地 Akamai 伺服器存取您的 FB 個人資料時,將您的圖片快取在本地 Akamai 伺服器上可能會有所幫助。
使用 Akamai 的真正好處是在名人頁面、公司頁面或 Facebook 網站的靜態元素 (css/js) 上。任何高容量的東西
因此,考慮到所有這些,我的假設是,對於普通用戶的個人資料,當您將其上傳到 Facebook 時,它們會儲存在 Facebook 的伺服器上。當您請求它們時,Akamai 會返回 Facebook 的原始伺服器,提取它們並將其放入快取中。如果您的鄰居去查看它們,他們將位於同一 ISP(理想情況下),並將它們從駐留在(理想情況下)您 ISP 中的 Akamai 快取伺服器上拉下來。
話雖如此,我對 Facebook 的 Akamai 配置一無所知,因此他們可能有一些完全自訂且超出規範的東西。
答案2
一般來說,它的工作方式是所有內容都儲存在主伺服器上(在您的範例中是 Facebook),CDN 網路快取所請求資料的副本。因此,您從 Akamai 請求它,如果 Facebook 沒有快取它,它會向 Facebook 請求,或只是從快取中提供它。因此,下一個請求該數據的人將從 Akamai 的快取中獲取數據,從而減少 Facebook 伺服器的負載。很像瀏覽器快取。
看維基百科上關於 Akamai 的文章, 具體來說:
Akamai 透明地鏡像來自客戶伺服器的內容,有時是所有網站內容,包括 HTML、CSS 和軟體下載,有時只是音訊、圖形、動畫和視訊等媒體物件。儘管網域名稱(但不是子網域)相同,但 IP 位址指向 Akamai 伺服器而不是客戶的伺服器
我曾在一家生產「主動」CDN 網路的大公司工作過,其中有一個包含所有媒體和許多內容交付伺服器的中央伺服器。媒體將上傳到主伺服器,它會聯繫所有從伺服器並將新內容推送給它們。但這種 CDN 旨在透過已知的高頻寬連結提供內容 - 例如,如果您有一個中央辦公室和許多分支機構。每個分支機構都有一個快速的以太網,因此它們的 CDN 伺服器透過(慢速)互聯網與中央伺服器同步。但這與Akamai是不同的概念。
答案3
此資源永久存在於 CDN 的儲存中(直到用戶端將其刪除),並且當瀏覽器請求時從那裡檢索該資源。