***수백만 사용자를 지원하는 시스템을 설계하는 것은 도전적인 과제이다! 또한, 지속적인 계량과 끝없는 개선이 요구된다.

이번 장에서는 한 명의 사용자 → 몇 백만 사용자까지 지원하는 시스템을 설계해보자.***

단일 서버


모든 컴포넌트가 단 한대의 서버에서 실행되는 간단한 시스템부터 설계해보자.

Untitled

위 시스템 구성을 이해하기 위해서는 사용자 요청 처리 흐름을 알아야 한다!

Untitled

  1. 사용자는 도메인 이름(api.mysite.com)을 이용해서 웹 사이트에 접속한다.

  2. DNS 조회 결과로 IP 주소가 반환된다.

  3. 해당 IP 주소로 HTTP 요청이 전달된다.

  4. 요청을 받은 웹 서버는 HTML 페이지나 JSON 형태의 응답을 반환한다.