![[가상 면접 사례로 배우는 대규모 시스템 설계 기초] 4장 개략적인 규모 측정](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F38qfS%2FbtsKJQrdoYa%2F0wpXo8FdkpyT0ulr5zEYU1%2Fimg.png)
4장. 처리율 제한 장치의 설계처리율 제한 장치(rate limiter)클라이언트 또는 서비스가 보내는 트래픽의 처리율(rate)을 제어하기 위한 장치특정 기간 내에 전송되는 클라이언트의 요청 횟수를 제안한다. API 요청 횟수가 제한 장치에 정의된 임계치(threshold)를 넘어서면 추가로 도달한 모든 호출은 처리가 중단(block)된다.사용자는 초당 2회 이상 새 글을 올릴 수 없다.같은 IP 주소로는 하루에 10개 이상의 계정을 생성할 수 없다.같은 디바이스로는 주당 5회 이상 리워드(reward)를 요청할 수 없다. API에 처리율 제한 장치를 두면 좋은점DOS(Denial of Service) 공격에 의한 자원 고갈을 방지비용 절감서버 과부하 방지3장에서 배운 시스템 설계 4단계 접근법을 적용..
![[가상 면접 사례로 배우는 대규모 시스템 설계 기초] 3장 시스템 설계 면접 공략법](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FphZbC%2FbtsKKnWjK4M%2FtSZ8iYSpxggEBjrBy4kovK%2Fimg.png)
3장. 시스템 설계 면접 공략법시스템 설계 면접이란?모호한 문제를 풀기 위해 협력하여 그 해결책을 찾아내는 과정에 대한 시뮬레이션 면접관이 시스템 설계 면접에서 찾고자 하는 것지원자의 설계능력의 기술적 측면협력에 적합한 사람압박이 심한 상황도 잘 헤쳐나가는 자질모호한 문제를 건설적으로 해결할 능력좋은 질문을 던질 능력지양해야 할 것설계의 순수성에 집착한 나머지 타협적 결정(tradeoff)을 도외시하고 과도한 엔지니어링을 하는것고도한 엔지니어링의 결과 → 시스템 전반의 비용 상승완고함, 편협함효과적 면접을 위한 4단계 접근법1단계. 문제 이해 및 설계 범위 확정요구사항을 완전히 이해하기→ 올바른 질문을 하는 것, 적절한 가정을 하는 것, 시스템 구축에 필요한 정보를 모으는 것 요구사항을 정확히 이해하는데..
![[가상 면접 사례로 배우는 대규모 시스템 설계 기초] 2장 개략적인 규모 측정](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FHwmUt%2FbtsKKGH7Gle%2Fzk8eU5RHQUFr3YGAaXhhkk%2Fimg.png)
2장. 개략적인 규모 추정시스템 설계 면접을 볼 때, 시스템 용량이나 성능 요구사항을 추정해보라는 요구를 받는다.개략적 규모 추정을 효과적으로 해내려면 규모 확장성을 표현하는데 필요한 기본기가 필요하다.2의 제곱수나 응답지연(latency) 값, 가용성에 관계된 수치들을 기본적으로 잘 이해하고 있어야한다. 2의 제곱수데이터 볼륨 단위를 계산하기 위해 2의 제곱수의 최소단위는 1바이트(8비트)2의 x제곱근사치이름축약형101천1킬로바이트(Kilobyte)1KB201백만1메가바이트(Megabyte)1MB3010억1기가바이트(Gigabyte)1GB401조(trilion)1테라바이트(Terabyte)1TB501000조(quadrillion)1페타바이트(Petabyte)1PB 응답지연 값연산명시간L1 캐시 참조0...
![[가상 면접 사례로 배우는 대규모 시스템 설계 기초] 1장 사용자 수에 따른 규모 확장성](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbqW1S9%2FbtsKI4jhkii%2FnS3M692ixr8Kt8JINXjVxk%2Fimg.png)
1장. 사용자 수에 따른 규모 확장성단일 서버사용자는 도메인 이름을 이용하여 웹사이트에 접속한다. 이 접속을 위해서는 도메인 이름을 도메인 이름 서비스에 질의하여 IP 주소로 변환하는 과정이 필요하다.DNS 조회로 웹 서버의 IP 주소가 반환된다.해당 IP 주소로 HTTP 요청이 전달된다.요청을 받은 웹 서버는 HTML 페이지나 JSON 형태의 응답을 반환한다.데이터베이스사용자가 늘면 서버 하나로는 충분하지 않아서 여러 서버를 두어야 한다. 하나는 웹/모바일 트래픽 처리 용도고, 다른 하나는 데이터베이스용이다.데이터베이스는 크게 RDBMS, NoSQL 2가지로 나눌 수 있다. 대체적으로는 RDBMS로 해결할 수 있고 적절한 상황이지만, 아래와 같은 경우에는 NoSQL이 적절한 선택일 수 있다.아주 낮은 ..