콘텐츠로 이동

분산 시스템의 확장성 (Scalability)

Jan 23, 2026 · Updated Jan 27, 2026

분산 시스템의 확장성(Scalability)은 시스템이 증가하는 서비스 부하에 적응하여 성능을 유지할 수 있는 능력이다. 시스템은 유한한 자원을 가지며, 설계 단계부터 확장성을 고려해야 한다.

  1. 성능 저하가 점진적 (갑작스러운 붕괴 없음)
  2. 자원 포화 시점이 늦음
  3. 새 자원 추가가 용이
  • 분산된 제어와 데이터: 중앙 병목 회피
  • 여유 자원 확보: 신뢰성과 피크 부하 대응
  • 수평 확장(Scale-out): 머신 추가로 처리 능력 증가
  • 수직 확장(Scale-up): 기존 머신의 성능 향상
  • 압축(Compression): 무손실 압축으로 저장 공간 절약
  • 중복 제거(Deduplication): 시스템 전체에서 동일 데이터를 하나만 저장
설계 결정확장성 영향
중앙 집중 코디네이터병목 지점 → 확장성 저해
분산 조정복잡도 증가, 확장성 향상
강한 일관성동기화 오버헤드 → 확장성 저해
약한 일관성확장성 향상, 데이터 불일치 가능
초기: 서버 1대로 1000명 사용자 처리
성장: 사용자 5000명으로 증가
비확장적 설계:
- 서버 과부하 → 성능 급락 → 서비스 장애
확장적 설계:
- 서버 4대 추가 → 부하 분산 → 성능 유지
- 또는 더 강력한 서버로 교체 (수직 확장)

과부하된 컴포넌트는 장애 컴포넌트처럼 동작할 수 있으므로, 여유 자원이 신뢰성과 확장성 모두에 필수적이다.