解決方案
1995 年,Tim Berners-Lee 向 MIT 的研究人員提出挑戰,要他們解決全球資訊網自身成功所帶來的問題:每當某個網站迅速爆紅——突發新聞、產品發表、爆紅連結——託管該網站的單一伺服器或伺服器叢集就會在暴增的流量下不堪負荷,業界稱這種效應為瞬間爆量(flash crowd)。標準的解法是不斷購買更大、更集中的基礎設施,但這只是提高了上限;它並沒有改變一個事實:對某個頁面的每個請求仍然匯流經過同一個實體位置;而且對於通往該處途中的網路壅塞也毫無幫助。
研究平行演算法與網路理論的 MIT 應用數學教授 Tom Leighton,與研究生 Danny Lewin 一同著手處理這個問題。他們的問題不是如何把原始伺服器做得更大,而是這個請求究竟是否必須送達原始伺服器——內容能否改為在提出請求者附近取得,並由公式動態選擇,而非由固定、預先指派的位置來決定。
達成了什麼
將內容複製到數千台伺服器,並即時把每個請求路由到最近、壅塞最少的副本,把瓶頸轉化為路由問題。
為何有效
將內容複製到數千台伺服器,移除了瞬間爆量所壓垮的單一瓶頸。
一致性雜湊讓系統能即時把請求重新分配到故障或超載伺服器以外的位置。
把每個請求路由到最近的快速副本,可降低網路壅塞與延遲。
成本隨整體網路容量而擴展,而非取決於單一位置的最壞情況尖峰。
可套用之處
當單一節點不堪負荷時,不要把它擴大——先問這個請求是否必須送達該節點,並把工作分散到需求附近許多較小的位置,用路由公式挑選最快者。
後續發展
該網路透過繞開壅塞來重新路由,吸收了每日數十億次的請求;Akamai 於 1999 年首次公開發行,開盤價為 26 美元,當日收盤接近 145 美元。Akamai 的邊緣快取、分散式路由模式,為此後每一家主要 CDN——Cloudflare、Fastly、Amazon CloudFront——樹立了遵循的範例,也支撐了一項如今被視為理所當然的假設:網站可以在其核心沒有單一故障點的情況下服務全球受眾。
追溯依據
參考來源
- Akamai's Algorithms MIT Technology Review · technologyreview.com