목차
Scale Up
정의 : 기존의 서버에 더 좋은 CPU, 더 많은 RAM, 빠른 저장장치 등을 추가하여 단일 서버의 성능을 향상시키는 방법입니다. (수직적 확장)
- 단일 서버의 하드웨어의 사용을 높인다. (CPU, Memory 등의 스펙을 높인다)
- 요청에 대한 처리를 더욱 빠르게 할 수 있도록 만든다.
예 :
- 4코어 CPU → 16코어 CPU 업그레이드
- 16GB RAM → 64GB RAM 확장
장점 :
- 아키텍처 변경이 거의 없음 (기존 소프트웨어 수정이 적음)
- 관리가 단순함 (서버 수가 늘어나지 않음)
단점 :
- 하드웨어 한계가 있음 (무한 업그레이드 불가)
- 비용이 비싸질 수 있음 (고성능 장비는 급격히 비쌈)
- 장애 발생 시 전체 서비스 영향 가능성 큼
Scale Out
정의 : 서버의 성능을 높이기 위해 여러 대의 서버를 추가하여 서버 수를 늘리는 방식입니다. (수평적 확장)
- 같은 사양의 서버(인스턴스)를 여러 대 배치한다.
- 동시에 더 많은 사용자 요청을 처리할 수 있도록 만든다.
예:
- 웹 서버를 1대에서 5대로 늘려 로드 밸런싱 적용
- 데이터베이스 샤딩(분산 저장)
장점:
- 확장성이 뛰어남 (필요시 계속 서버 추가 가능)
- 동시에 더 많은 사용자 처리를 할 수 있음
- 장애에 강함 (일부 서버 다운 시에도 서비스 지속 가능)
- 클라우드 환경과 잘 어울림
단점:
- 시스템 복잡도 증가 (분산 처리, 동기화 등)
- 관리와 설정이 더 어려움
- 어플리케이션 구조 변경이 필요할 수 있음
'CS' 카테고리의 다른 글
[CS] Connection & Connectionless (0) | 2025.05.06 |
---|---|
[CS] 서버 상태 관리의 두 방식: Stateless와 Stateful (0) | 2025.05.06 |
[CS] 웹 주소 체계: DNS, URI, URL, URN (0) | 2025.05.06 |
[CS] 포트(PORT) (0) | 2025.05.06 |
[CS] 3-Way Handshake (0) | 2025.05.05 |