분산 시스템 기초
핵심 개념
8개
문제
15개
면접 질문
32개
내 실력이 궁금하다면?
맛보기 시험로그인 없이 5문제 맛보기
필수 개념
신입 백엔드 개발자가 반드시 알아야 할 핵심 개념
CAP 정리
분산 시스템의 근본 트레이드오프, 셋 다 만족은 불가능
중급
면접 질문 4개복제와 샤딩
데이터 확장의 두 가지 방법, 복사 vs 분할
중급
면접 질문 4개복제와 샤딩
복제 (Replication)
- 목적: 가용성, 읽기 성능 향상
- Master-Slave: 쓰기는 Master, 읽기는 Slave 분산
- 복제 지연(Replication Lag) 주의
샤딩 (Sharding)
- 목적: 데이터 분산 저장 (수평 확장)
- 키 기반 샤딩: user_id % N
- 범위 기반 샤딩: 날짜별 분할
실무 포인트
- 복제 먼저 도입 → 그래도 부족하면 샤딩
- 샤딩 후 크로스 샤드 조인 불가 → 설계 시 신중히
- 리샤딩(데이터 재분배)은 매우 어려운 작업
최종 일관성과 읽기 정합성
내가 쓴 글이 안 보이는 버그, 복제 지연의 얼굴
심화
면접 질문 4개분산 트랜잭션과 Saga
서비스마다 DB가 다르면 롤백은 누가 하나
심화
면접 질문 4개타임아웃과 재시도, 서킷 브레이커
한 서비스의 지연이 전체로 번지지 않게
중급
면접 질문 4개서비스 메시
서비스 간 통신의 공통 기능(인증, 재시도, 관측)을 애플리케이션 밖으로 빼내는 방식
심화
면접 질문 4개추가 개념
더 깊이 이해하면 좋은 개념들