[4장] 처리율 제한 장치의 설계
·
카테고리 없음
처리율 제한 장치 (Rate Limiter)클라이언트 혹은 서비스가 보내는 트래픽의 처리율을 제어하기 위한 장치.ex) HTTP 내에서는 특정 기간 내 전송되는 클라언트 요청 횟수를 제한.임계치(threshold)를 넘어선 요청은 중단(block)됨ex) 사용자는 초당 2회 이상 새 글을 올릴 수 없다.ex) 같은 IP 주소로 하루에 10개 이상 계정 생성을 할 수 없다.ex) 같은 디바이스로 주 5회 이상 리워드를 요청할 수 없다.장점DoS 공격에 의한 자원 고갈 방지.처리 제한을 통해 비용 절감 가능.써드파티 API 호출에 따라 사용료를 지불하고 있을 땐 더더욱 횟수를 제한해야 한다. 처리율 제한 장치의 요구사항낮은 응답시간 : 처리율 제한 장치로 인해 API 성능 (HTTP 응답시간) 에 영향을 주..
[3장] 시스템 설계 면접 공략법
·
대규모 시스템 설계 기초
효과적 면접을 위한 4단계 접근법 [1단계] 문제 이해 및 설계 범위 확정올바른 질문과 적절한 가정을 통해 요구사항을 이해하고 시스템 구축에 필요한 정보를 모으는 것이 중요구체적으로 어떤 기능들을 만들어야 하나?제품 사용자 수는 얼마나 되나?회사 규모는 얼마나 빨리 커지리라 예상하나?회사가 주로 사용하는 기술 스텍은 무엇인가?설계를 단순화하기 위해 활용할 수 있는 기존 서비스로는 어떤 것들이 있는가? [2단계] 계략적인 설계안 제시 및 동의 구하기해당 단게에서는 개략적인 설계안을 제시하고 면접관의 동의를 얻는 것이 중요설계안의 최초 청사진을 제시하고 의견을 구해야 함. 팀원과 얘기하는것처럼 설계를  공유하자.핵심 다이어그램을 그려라. ex) client - server / DB / CDN / 캐시 / M..
[2장] 개략적인 규모 추정
·
대규모 시스템 설계 기초
2의 제곱수최소 단위는 1Byte (8bit)ASCII 문자 하나가 차지하는 메모리 크기 : 1Byte2의 제곱수 (x제곱)근사치이름101,0001KB201,000,0001MB301,000,000,0001GB401,000,000,000,0001TB501,000,000,000,000,0001PB  Latency (응답 지연 값)1 μs (micro second) : 1, 000 ns (nano second)1 ms (milli second) : 1,000 μs1 s : 1,000 ms연산시간L1 캐시 참조0.5 nsL2 캐시 참조7 ns메인 메모리 참조100 ns1G bps 네트워크로 5KB 전송10,000 ns * 5 = 50 μs메모리에서 1MB read250 μs디스크 탐색10 ms네트워크에서 1MB..
[1장] 사용자 수에 따른 규모 확장성
·
대규모 시스템 설계 기초
1. 단일 서버웹 앱, 데이터베이스, 캐시 등이 전부 서버 한 대에서 실행된다. 사용자 요청 처리 흐름1. 사용자는 도메인을 이용해서 웹사이트에 접속2. 이 접속을 위해서는 도메인 이름을 DNS에 질의하여 IP 주소로 변환하는 과정이 필요2. DNS 조회 결과로 IP 주소가 반환 (웹 서버의 주소)3. 해당 IP 주소로 HTTP 요청이 웹 서버에 전달4. 요청을 받은 웹 서버는 HTML 페이지나 JSON 형태의 응답을 반환 2. 데이터베이스 사용자가 증가할 경우, 하나의 서버로는 부족해진다. 여러 서버를 두어야 함.웹/모바일 트래픽 처리(웹 계층) 서버, 데이터베이스(데이터 계층) 서버 분리   데이터베이스의 종류관계형 데이터베이스 (RDBMS)MySQL, Oracle, PostgreSQL테이블, 열, ..