小小的CDN為何能“摧毀”互聯網_風聞
壹零社-最新鲜的互联网产业资讯2021-06-17 09:23
六月初,全球各地數以億計的互聯網用户登陸自己平日經常登陸的網站時,發現頁面無法打開,並出現了“503 Errors”的錯誤提示,包括亞馬遜、Reddit、Twitch、Pinterest以及包括諸多門户網站在內的新聞網站均悉數中招。
1.Fastly引發的網絡“地震”
造成這次事件的源頭來自於Fastly,這是一家內容交付網絡 (CDN) 提供商。你可能之前沒有聽説過Fastly,但你每次上網時都可能以某種方式與它互動。與 Cloudflare 和 Akamai 一起,它是世界上最大的 CDN 提供商之一。儘管 Fastly 一直對此次全球網絡中斷的具體故障含糊其辭,但這一事件清楚地提醒人們,互聯網基礎設施是多麼脆弱和相互關聯,尤其是當其中某些服務掌握在少數幾家公司手裏的時候。
Fastly這家公司創辦於2011年,總部位於舊金山,從事的主要業務是互聯網雲服務。2017年,該公司發佈了邊緣雲計算平台,提供將終端服務器的內容更近、更快地給到終端用户的服務。
簡而言之,Fastly為服務器和終端用户之間搭建了一箇中繼站,讓用户無需再從終端服務器上下載網絡內容,而由Fastly事先預載一部分內容,當用户訪問相應網站時,就無需再從遠端的終端服務器上下載,而從Fastly處獲得,提高終端用户獲得互聯網內容的效率。
Fastly的這一互聯網內容傳遞服務,能夠讓網頁的加載速度更快、優化圖片、視頻和其他大尺寸容量的內容能夠更快的在用户終端上出現。在Fastly官方網站的介紹中,該公司列舉了幾個例子,例如新聞網站Buzzfeed在使用了Fastly的服務後,加載速度提高了50%,紐約時報在選民投票期間能夠承載200萬用户登陸等。
此外,邊緣雲計算(邊緣雲是分佈在網絡邊緣側,提供實時數處理、分析決策的小規模雲數據中心。)的另一個好處是:作為一道額外的防範黑客攻擊的防火牆,最常見的DDoS攻擊等,保障終端服務器不受攻擊的影響。但同時帶來的一個問題是,由於Fastly作為連接終端服務器和終端用户的橋樑,一旦這座“橋樑”發生問題,雙方之間的連接也就斷了,這正是6月8日全球數億網絡用户短暫無法登錄網站的情況。目前對於這起故障到底如何發生的有關細節還不得而知,Fastly方面也僅給出了是因為進行一項“服務配置”的調試而引發的簡單解釋。
網絡監控公司ThousandEyes的產品營銷總監安吉莉卡▪梅迪納説:“ CDN為內容提供了真正的高性能傳輸,無論是流媒體視頻還是網站,還是當用户訪問電子商務網站時彈出的各種繁雜的視窗。移動互聯網時代,抓住用户需要提供更好的體驗,比如減少加載時間,這比以前大家在PC上網上衝浪的需求更高。”
Fastly網絡地圖表明,該公司在全球至少 58 個城市運營 POP,其中包括洛杉磯、倫敦和新加坡等人口稠密地區的多個城市。
2.CDN的重要性
近些年,CDN在互聯網的擴張和發展發揮了關鍵作用。CDN不僅僅將內容存儲在更靠近需要它的設備的位置,還幫助指導互聯網協調流量,”馬薩諸塞大學阿默斯特分校的計算機科學家西塔琴師説,他作為Akamai的首席架構師,幫助創建過第一個主要的CDN。當初的構造初衷,就是為了當互聯網上的某些鏈接出現故障或擁塞,CDN算法會迅速找到通往目的地的替代路線。
CDN原先是在頻寬供應較為不足的時代出現,用作更快地加載網站中較為耗用數據的部分,如檔案大小較大的圖像。初期的CDN(如Akamai)建立了地區集線器,用作儲存網站中所有圖像的副本(緩存),使內容更接近在世界各地瀏覽互聯網的人。
舉個例子,在如此多入網點(PoP)存在的情況下,即使亞洲的用户在瀏覽歐洲服務器上的當紅網站,他們的瀏覽器也可從附近載有媒體複本的CDN集線器獲取有關圖像。隨着越來越多人訪問互聯網,以及頻寬供應量有所增長,以網絡為基礎的站點和服務變得更豐富、更有能力,繼而進一步增強了專用CDN的需求。
雖然人們很容易認為互聯網是無定形的——他們甚至稱之為“雲”——你閲讀的文章、你瀏覽的電影和歌曲、你發佈的照片,它們都存在於物理服務器上。雖然該內容可能主要託管在雲提供商上,仍然需要一種方法來快速有效地將其提供給人們,這就是 CDN 的用武之地。
隨着移動互聯網的崛起,CDN已逐步發展到可支持軟件下載、加快手機內容的傳送以及支持視頻等更豐富的媒體內容。增建了這些成熟的網絡和能力後,市場對加快用户體驗的CDN需求更大,為 CDN行業增長提供了支持。
如今,頂尖的全球CDN供應商已準備投入數十億美元擴展龐大的基礎設施,以支持網絡的增長,而他們可能需要考慮以下情況:到2022年,CDN預期將承擔總互聯網流量的72%。此外,除了現有的CDN供應商外,也會有越來越多的媒體和電信公司建立自己的CDN。
3.寡頭網絡服務商下的運營難題
三大CDN 提供商——Cloudflare、Akamai和Fastly幾乎壟斷了在線內容流
一般CDN會把媒體存儲和回放設備放置於其網絡的周邊、互聯網服務供應商(ISP)或在主要大城市區域的互聯網交換中心(IXP),以更接近終端用户。這些設備是具有大存儲容量和軟件能力的實體盒子,有時又稱微型數據中心。
例如流媒體之王Netflix在全球Open Connect CDN存放了數千個這樣的盒子,每個盒子盛載了高達八成的Netflix媒體產品。這些盒子是定製設計的,由供應商組裝後送到地區ISP和IXP進行安裝。Netflix核心負責新內容的轉碼,並定期把更新推送到邊緣設備。系統的負荷和故障情況受到持續監察,使失效設備可迅速脱機,並將容量轉到其他冗餘的PoP(內存單元與內存單元之間傳送數據的指令)。
Fastly在一份聲明中提到:“服務配置在全球範圍內觸發了POP中斷,現已禁用該配置,全球網絡正在重新上線。”這其中提到的“服務配置”,可以指任何數量的東西;根據Fastly的事件報告頁面,除南極洲以外的每個大陸都感受到了影響。
即使在Fastly修復了根本問題之後,用户仍然可以看到較低的“緩存命中率”——即可以找到已存儲在附近服務器中的內容的頻率,以及增加的原始負載,但沒有緩存中的項目返回源的過程。此外,緩存刷新操作頻繁,提交緩存刷新請求後,CDN節點的緩存內容將會被強制過期。下次訪問同樣的URL時,CDN會回源拉取資源,從而導致命中率下降。
“理論上,網絡宕機是數據存在大量冗餘造成,”業內人士在談到 CDN 時説。“如果一台服務器出現故障,其他服務器可能會接管負載。如果整個數據中心出現故障,負載可以轉移到其他數據中心。如果一切正常,可能會遇到許多網絡中斷、數據中心問題和服務器故障;CDN 的彈性機制將確保用户永遠不會看到降級。”當出現問題時,通常與軟件錯誤或配置錯誤有關,這些錯誤或配置錯誤會同時推送到多個服務器。此外,使用 CDN 的站點和服務通常也有自己的冗餘。
梅迪納説,亞馬遜方面大約花了20 分鐘才恢復運行,因為它可以將流量轉移到其他 CDN 提供商。但任何完全依賴Fastly的用户,或者沒有適當的自動化系統來適應中斷的公司,不得不等待更長的時間。安全公司Netscout的首席工程師羅蘭·多賓斯建議:“每個擁有大量在線業務的企業都應該擁有多個CDN提供商,以避免出現這種情況。”
話雖如此,但目前作為用户的選擇越來越有限,寡頭效益盛行。正如雲服務在很大程度上被亞馬遜、谷歌和微軟所主宰一樣,三大CDN 提供商——Cloudflare、Akamai和Fastly幾乎壟斷了在線內容流,客户也不可能選用其他小型的網絡服務公司。“服務提供商的選擇非常集中,”梅迪納説。“每當這三個提供商中的任何一個出現問題時,故障持續時間雖不長,但它會對整個互聯網產生重大影響。”