인프라 시스템 구성 기본 패턴
Source
Evernote/Inbox/인프라 시스템 구성 기본 패턴.md
Summary
단일 서버 기반의 풀스택 구성(Web, DB, File 역할 분리)을 출발점으로 하여, 시스템의 성능과 가용성 향상을 위한 4가지 확장 패턴을 설명합니다. 주요 구성 변경 전략으로는 다중화(가용성), 기능 분할(성능), 스케일 업/아웃(성능)이 있으며, 웹 서버와 데이터베이스 서버를 단계적으로 분리하고 복제하는 패턴(1:1, 2:1, 2:2 등)을 통해 부하 분산과 장애 대응 방안을 제시합니다.
Key Points
- 단일 서버 내 역할 분리: Web(접속/로직), DB(데이터 보관), File(파일 보관)로 구분하여 결합도 관리 및 독립적 운용의 기초를 마련합니다.
- 시스템 구성 변경 4가지 전략: 다중화(가용성 향상), 기능 분할(부하 감소), 스케일 업(단일 서버 성능 강화), 스케일 아웃(수평적 확장)을 구분하여 적용합니다.
- 패턴 1 (기능 분할): Web 서버 1대, DB 서버 1대 구성으로 단일 서버 스펙 한계를 극복하고 리소스 편중을 방지합니다.
- 패턴 2 (다중화): Web/DB/File을 갖춘 대기용 서버를 추가로 구성하여 장애 시 전환(Active-Standby)하며, 데이터 동기화 방식(완전/비동기) 선택이 중요합니다.
- 패턴 3 (다중화+분할+확장): Web 서버 2대, DB 서버 1대 구성으로 Web 측의 처리량 증가와 리소스 편중 문제를 해결합니다.
- 패턴 4 (완전 다중화): Web 서버 2대, DB 서버 2대 구성으로 Web의 부하 분산과 DB의 가용성을 동시에 확보하며, 대기용 DB의 읽기 전용 활용은 부하 관점에서 비효율적일 수 있음을 지적합니다.