2장 - 개략적인 규모 추정 개략적인 규모추정(back-of-the-envelope esti-mation) : 보편적으로 통용되는 성능 수치상에서 사고 실험(thought experi-ments)을 행하여 추정치를 계산하는 행위로서, 어떤 설계가 요구사항에 부합할 것인지 보기 위한 것. 필요한 기본기로 2의 제곱수나 응답지연(latency) 값과 가용성에 관계된 수치들의 이해가 있어야 한다. 2의 제곱수 / 응답지연 값 / 가용성에 관계된 수치들 📖 2의 제곱수 데이터 볼륨 단위를 계산하기 위해 사용되는 최소단위는 1바이트(8비트) 이다. 아스키 문자 하나가 차지하는 메모리의 크기가 1바이트 이고 보통 많이 사용되는 UTF-8의 경우 1~4 바이트가 사용된다. 📖 모든 프로그래머가 알아야 하는 응답지연 ..
1장 - 사용자 수에 따른 규모 확장성 1장에서는 규모 확장성과 관계된 설계 문제를 푸는 데 쓰일 유용한 지식들을 알아본다. 📖 단일 서버 모든 컴포넌트가 단 한 대의 서버에서 실행되는 간단한 시스템을 설계해보면 위와 같다. 웹 앱, 데이터베이스, 캐시 등이 전부 서버 한 대에서 실행된다. 사용자 요청 흐름은 다음과 같다. 사용자 요청 흐름 사용자는 도메인 이름(~.com)을 이용하여 웹사이트에 접속한다. 접속을 위해서 도메인 이름을 도메인 이름 서비스 (DNS,Domain Name Service) 에 질의하여 IP주소로 변환한다. DNS 조회 결과로 IP 주소가 반환된다. 해당 IP주소로 HTTP(HyperText Transfer Protocol) 요청이 전달된다. 요청 받은 웹 서버는 HTML 페이지..