Open hrkim3468 opened 1 month ago
(1) 처리량 (읽기/쓰기 쿼리에 대한 QPS)
(2) 시스템에서 예상되는 지연시간(읽기/쓰기 쿼리)
(3) 읽기/쓰기 비율
(4) 트래픽 추정치
(5) 스토리지 추정치
(6) 메모리 추정치
(1) 지연시간 및 처리량에 대한 명확한 요구사항
(2) 일관성 vs 가용성
(3) 중요한 구성 요소에 대한 읽기/쓰기 시나리오를 위한 API
(4) 데이터베이스 스키마
(5) 활용하는 주요 알고리즘
(1) 알고리즘 확장
(2) 개별 구성 요소 확장:
(3) 다음 구성요소들의 선택 이유와 활용패턴
RDBMS (Master-slave, Master-master, Federation, Sharding, Denormalization, SQL Tuning) NoSQL (Key-Value, Wide-Column, Graph, Document)
Client caching, CDN caching, Webserver caching, Database caching, Application caching, Cache @Query level, Cache @Object level Eviction 정책 (Cache aside, Write through, Write behind, Refresh ahead)
Message queues Task queues Back pressure
TCP UDP REST RPC
시스템 디자인을 고민하기 위한 서비스 기본 구조입니다. 두가지 중 마음에 드는 것을 골라서 사용하세요.
템플릿 1번
템플릿 2번
시스템 디자인 템플릿 https://leetcode.com/discuss/career/229177/My-System-Design-Template
시스템 디자인
[1단계] 시스템 사용량 추정
(1) 처리량 (읽기/쓰기 쿼리에 대한 QPS)
(2) 시스템에서 예상되는 지연시간(읽기/쓰기 쿼리)
(3) 읽기/쓰기 비율
(4) 트래픽 추정치
(5) 스토리지 추정치
(6) 메모리 추정치
[2단계] 높은 수준의 디자인
(1) 지연시간 및 처리량에 대한 명확한 요구사항
(2) 일관성 vs 가용성
(3) 중요한 구성 요소에 대한 읽기/쓰기 시나리오를 위한 API
(4) 데이터베이스 스키마
(5) 활용하는 주요 알고리즘
[3단계] DEEP DIVE
(1) 알고리즘 확장
(2) 개별 구성 요소 확장:
(3) 다음 구성요소들의 선택 이유와 활용패턴
템플릿
시스템 디자인을 고민하기 위한 서비스 기본 구조입니다. 두가지 중 마음에 드는 것을 골라서 사용하세요.
템플릿 1번
템플릿 2번