1995년, 팀 버너스리는 MIT 연구진에게 웹 자체의 성공이 만들어내고 있던 문제를 해결하도록 도전장을 내밀었다. 사이트가 빠르게 인기를 얻을 때마다 — 속보, 제품 출시, 바이럴 링크 — 그것을 호스팅하는 단일 서버나 서버 팜이 급증하는 부하를 견디지 못하고 무너지는 현상이었고, 업계는 이를 플래시 크라우드라고 불렀다. 표준적인 해법은 더 크고 더 중앙집중적인 인프라를 계속 구매하는 것이었지만, 그것은 상한선만 높일 뿐이었다. 특정 페이지에 대한 모든 요청이 여전히 동일한 물리적 위치를 통해 몰린다는 사실은 바뀌지 않았고, 그곳으로 가는 도중의 네트워크 혼잡에는 아무 도움이 되지 않았다.

병렬 알고리즘과 네트워크 이론을 연구하던 MIT 응용수학 교수 톰 레이턴은 대학원생 대니 루인과 함께 이 문제를 다루었다. 그들의 질문은 오리진 서버를 어떻게 더 크게 만들 것인가가 아니라, 요청이 애초에 오리진 서버에 도달할 필요가 있는가 — 콘텐츠가 대신 그것을 요청하는 사람 근처에서, 고정된 사전 할당 위치가 아니라 공식에 의해 동적으로 선택되어 발견될 수 있는가였다.

수천 대의 서버에 콘텐츠를 복제하고 각 요청을 실시간으로 가장 가깝고 가장 혼잡하지 않은 사본으로 라우팅하여, 병목 지점을 라우팅 문제로 바꾸었다.

수천 대의 서버에 콘텐츠를 복제하면 플래시 크라우드가 압도하는 단일 병목 지점이 제거된다.

일관된 해싱은 시스템이 실패하거나 과부하된 서버를 피해 요청을 실시간으로 재할당할 수 있게 한다.

각 요청을 가장 가까운 빠른 사본으로 라우팅하면 네트워크 혼잡과 지연이 줄어든다.

비용은 한 위치의 최악의 피크가 아니라 총체적인 네트워크 용량에 비례한다.

단일 지점이 압도될 때는 그것을 확대하지 말고, 요청이 애초에 그곳에 도달해야 하는지 물어보고, 수요 근처의 많은 더 작은 위치로 작업을 분산하며, 라우팅 공식을 사용해 가장 빠른 것을 선택하라.

네트워크는 혼잡을 우회하여 매일 수십억 건의 요청을 흡수했다. 아카마이의 1999년 IPO는 26달러에 시작하여 그날 145달러 근처에서 마감했다. 아카마이의 엣지 캐싱, 분산 라우팅 모델은 이후 모든 주요 CDN — 클라우드플레어, 패스틀리, 아마존 클라우드프론트 — 이 따라온 패턴을 세웠고, 웹사이트가 핵심에 단일 장애점 없이 전 세계 사용자에게 서비스할 수 있다는, 이제 당연하게 여겨지는 가정의 기초가 되었다.

근거 확인하기

출처

  1. Akamai's Algorithms MIT Technology Review · technologyreview.com