책/대규모 트래픽 설계 기초
[대규모 시스템 설계 기초] 2장,3장 - 개략적인 규모 추정 / 시스템 설계 면접 공략법
개략적인 규모 추정을 위해서는 규모 확장성 표현에 능숙해야 한다. 2의 제곱수 응답 지연(latency) 값 고가용성 2의 제곱수 데이터 최소 단위 : 1 byte = 8bit ASCII 문자 하나 메모리 크기 : 1 byte 모든 프로그래머가 알아야 하는 응답지연 값 메모리는 빠르지만 디스크는 아직 느리다. 디스크 탐색(seek) 가능한 피하기 단순한 압축 알고리즘은 속도가 빠르다. 데이터를 인터넷으로 전송하기 전에 가능하면 압축하기 데이터 센터는 여러 지역에 분산되어 있고, 센터들 간에 데이터를 주고 받는 시간은 꽤 걸린다. 가용성에 관계된 수치들 고가용성(high availability) : 시스템이 오랜 시간동안 지속적으로 중단 없이 운영될 수 있는 능력 SLA(Service Level Agree..
[대규모 시스템 설계 기초] 1장 - 사용자 수에 따른 규모 확장성
단일 서버 웹 앱, 데이터베이스, 캐시 등이 전부 서버 한 대에서 실행된다. 사용자 요청 처리 흐름 1. 사용자는 도메인 이름(api.mysite.com)을 이용해서 웹사이트에 접속한다. 이 접속을 위해서는 도메인 이름을 DNS에 질의하여 IP 주소로 변환하는 과정이 필요하다. 2. DNS 조회 결과로 IP 주소가 반환된다. (웹 서버의 주소) 3. 해당 IP 주소로 HTTP 요청이 웹 서버에 전달된다. 4. 요청을 받은 웹 서버는 HTML 페이지나 JSON 형태의 응답을 반환한다. 두 가지 종류의 단말으로부터 요청 웹 애플리케이션 서버 구현용 언어(자바, 파이썬) : 비즈니스 로직, 데이터 저장 처리 클라이언트 구현용 언어(HTML, JS) : 프레젠테이션용 모바일 앱 HTTP 프로토콜 이용 : 모바일..