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