본문 바로가기

스터디/대규모 서비스를 지탱하는 기술

(2)
Chapter 01. 대규모 웹 서비스 개발 오리엔테이션 Chapter 01. 대규모 웹 서비스 개발 오리엔테이션 1-1. 소규모 서비스와 대규모 서비스의 차이점 1. 확장성 확보, 부하분산 필요 1) 스케일 아웃으로 서버 1대가 처리할 수 없는 부하를 처리한다. 단, 스케일 아웃 전략은 스케일 업 전략에 비해서 비용이 절감되지만 서버가 1대인 경우와는 다른 문제가 발생한다. 문제의 유형은 다음과 같다. (1) 사용자의 요청을 어떻게 분배할 것인가? (2) 데이터 동기화는 어떻게 할 것인가? (3) 네트워크 통신의 지연시간(latency)을 어떻게 생각해볼 수 있을까? 이에 대한 해답은 앞으로 책의 내용을 통해서 해결해보자. 스케일 아웃, 서버를 횡으로 전개하여 서버의 역할을 분담하거나 대수를 늘림으로써 시스템의 전체적인 처리능력을 높여서 부하를 분산하는 방법..
Chapter 02. 대규모 데이터 처리 입문 메모리와 디스크, 웹 애플리케이션과 부하 대규모 데이터 처리의 어려운 점 메모리와 디스크 속도 차 데이터가 커질수록 메모리 내에서 계산할 수 없으며 계산이 불가능하므로 디스크에 두고 데이터를 검색한다. 하지만 메모리는 디스크보다 10^5 ~ 10^6 배 이상 빠르다. 디스크에서 검색하는 것은 메모리에 비해 상당히 느리다. OS 레벨에서의 연구 >디스크는 느리지만 OS는 연속된 데이터를 같은 위치에 쌓아 1번의 회전으로 읽는 데이터의 수를 많게 한다. 그 결과로 디스크의 회전횟수를 최소화할 수 있게 된다. 하지만 여전히 디스크는 메모리보다 상당히 느리다. 전송속도, 버스의 속도차 >탐색속도 측면에서는 메모리가 디스크에 비해 10^5~10^6배 이상 빠르다. 이유는 디스크의 동작원리에서 찾을 수 있다. 하지..