解決策
1995年、ティム・バーナーズ=リーはMITの研究者たちに、ウェブ自体の成功が生み出していた問題を解くよう挑んだ。すなわち、あるサイトが急速に人気になると——速報、製品発表、バイラルリンクなど——それをホストする単一のサーバーやサーバーファームが急増する負荷に耐えられなくなるという問題で、業界はこの現象をフラッシュクラウドと呼んだ。標準的な対処法は、より大きく、より中央集約的なインフラを買い続けることだったが、それは上限を引き上げるだけで、あるページへのすべてのリクエストが依然として同じ物理的な場所に集約されるという事実を変えるものではなかった。そして、そこへ至る途中のネットワーク輻輳には何の効果もなかった。
並列アルゴリズムとネットワーク理論に取り組んでいたMITの応用数学教授トム・レイトンは、大学院生のダニー・ルーウィンとともにこの問題に取り組んだ。彼らの問いは、オリジンサーバーをどう大きくするかではなく、リクエストがそもそもオリジンサーバーに届く必要があるのかどうか、むしろコンテンツを、固定された事前割り当ての場所ではなく、数式によって動的に選ばれる、それを要求している者の近くで見つけられないか、というものだった。
達成したこと
コンテンツを数千台のサーバーに複製し、各リクエストをリアルタイムで最寄りの、最も輻輳していないコピーへ振り分けることで、ボトルネックをルーティングの問題へと変えた。
なぜ機能したか
コンテンツを数千台のサーバーに複製することで、フラッシュクラウドが圧倒する単一のボトルネックを取り除く。
コンシステントハッシュにより、システムは故障した、あるいは過負荷のサーバーを避けてリクエストをリアルタイムで再割り当てできる。
各リクエストを最寄りの高速なコピーへ振り分けることで、ネットワーク輻輳とレイテンシを低減する。
コストは、一地点での最悪時のピークではなく、総体としてのネットワーク容量に応じて拡張する。
応用できること
単一の地点が圧倒されているときは、それを大きくするのではなく、リクエストがそもそもそこへ届く必要があるのかを問い、需要の近くにある多数のより小さな拠点へ作業を分散し、ルーティングの数式を用いて最速のものを選ぶ。
その後
このネットワークは、輻輳を避けて経路を変更することで毎日数十億件のリクエストを吸収した。Akamaiの1999年のIPOは26ドルで始まり、その日の終値は145ドル近くであった。Akamaiのエッジキャッシングと分散ルーティングのモデルは、それ以降のすべての主要なCDN——Cloudflare、Fastly、Amazon CloudFront——が踏襲してきたパターンを打ち立て、また、ウェブサイトがその中核に単一障害点を持たずに世界規模の視聴者にサービスを提供できるという、今では当然とされている前提の土台となっている。
出典をたどる
出典
- Akamai's Algorithms MIT Technology Review · technologyreview.com