이번 챕터에서는 작은 수의 사용자를 커버할 수 있는 사례부터 시작해서, 대규모 사용자까지 대응 할 수 있는 구조를 만들어나갈 것이다.도메인을 통한 질의DNS 결과 반환웹서버에 요청웹서버는 데이터 반환데이터는 보통 HTTP 프로토콜을 사용하여 JSON 데이터를 반환할 것
제대로 된 계산 결과를 얻기 위해 데이터 볼륨의 단위를 2의 제곱수로 표현하면, 어떻게 되는지를 알기 위한 값들.각 연산에 따른 지연 시간을 정리해놓은 값들.이 값을 통해서 대략적인 비교가 가능하다.메모리는 빠르지만, 디스크는 느리다디스크 탐색은 최대한 피하라단순한 압
시스템 설계는 단순해보이지만, 결국 복잡한 것을 설계하게 된다.이러한 복잡한 시스템을 완벽하게 설계하는 것을 기대하지 않는다.결국 모호한 문제를 협력하여 해결해나가는 과정이다.답도 없고, 정해진 결말도 없다.설계 과정에서 내린 결정을 증명하고 방어하는 자리또한, 면접관
클라이언트 또는 서비스가 보내는 트래픽의 처리율을 제어하기 위한 장치특정 기간 내에 전송되는 클라이언트의 요청 횟수를 제한클라이언트는 위변조 가능일반적으로 게이트웨이에 분포토큰 버킷고정된 토큰의 개수로, 토큰을 몇개나 리필할지 고민해야함하지만, reset boundar
아래와 같은 방식으로 키가 배치된 경우를 생각해보자.hash % 4 를 이용하여, 서버에 키를 배치했다.이 때, 서버1이 죽는다면 키를 어떻게 배치해야 할까?hash % 3 을 이용하여, 서버에 키를 재배치해야한다.여기서 문제점은?server 1이 죽어 대부분의 키가
유일한 ID숫자로만 구성되는 값64비트로 표현될 수 있는 값발급 날짜에 따라 정렬 가능한 값초당 10,000개의 ID를 만들 수 있어야한다Auto Increment 기능을 활용하여, 현재 사용중인 데이터베이스 서버의 수 k 만큼씩 증가시킴서버의 수를 증가시킴으로써 초당
우리는 이번 섹션에서 다음과 같은 기능을 가진 URL 단축기를 설계할 것이다.URL 단축 : 주어진 긴 URL을 훨씬 짧게 줄인다.URL 리디렉션 : 축약된 URL로 HTTP 요청이 오면 원래 URL로 안내한다.높은 가용성과 규모 확장성, 장애 감내가 요구된다.쓰기 연