서버 과부화
- 정의: 서버가 CPU, 메모리, 네트워크, 디스크 등 리소스를 초과 소모하여 요청을 처리하지 못하고 다운되거나, 응답 시간이 현저히 느려지는 현상
- 결과: 사용자 요청에 대해 "응답 없음" 발생, 전체 서비스 중단 가능성 증가
대응 전략
1. 모니터링 및 자원 자동 할당
- 설명: 시스템 상태(CPU 사용률, 메모리 사용량, 트래픽 등)를 지속적으로 수집
- 도구: Prometheus, Grafana, CloudWatch(AWS), Datadog 등
- 예방 방법:
- Auto-scaling: 부하 발생 시 인스턴스를 자동으로 증설/축소
- Alerting: 사전 설정된 임계치 초과 시 관리자에게 알림
2. 로드밸런서 (Load Balancer) 사용
- 역할: 서버 간 요청 트래픽을 균등하게 분산하여 과부하 방지
- 종류:
- L4 스위치: IP/Port 기반
- L7 스위치: URL, 쿠키 등 애플리케이션 레벨 기준
- 추가 기능: 헬스 체크, 장애 서버 자동 제외, SSL 오프로드
3. 서킷 브레이커 패턴
- 목적: 연속적인 장애 전파를 차단하고, 시스템 전체가 무너지지 않도록 보호
- 구현 상태:
- Closed: 정상 상태. 요청 통과 가능.
- Open: 오류 비율 임계치 초과. 요청 차단 → 즉시 실패 응답 (Fail Fast)
- Half-Open: 일정 시간 후 재시도. 성공 시 Closed 복구
- 장점:
- 장애 감지 후 빠른 차단.
- 핵심 기능 외의 서비스 분리 → 전체 시스템 안정성 향상
4. 블랙스완(Black Swan) 대응 전략
- 의미: 예측 불가능한 대규모 사고에 대한 대응 전략
- 대응 절차:
- 영향 분석: 어떤 시스템이 영향을 받았는지 판단
- 가설 수립 및 테스트: 장애 원인 추적
- 내부 팀 조정: 전 팀 알림 및 협조 체계
- 취약점 조치: 패치, 설정 변경, 시스템 복구
- 대외 커뮤니케이션: 고객 및 파트너에 공식 안내
5. 컨텐츠 관리 최적화
- 불필요한 요청 제거
- 불필요한 쿼리, 미사용 API 제거 등으로 트래픽 최소화
- CDN(Content Delivery Network)
- 역할: 정적 자산(JS, 이미지, CSS 등)을 사용자 가까운 서버에서 제공
- 효과: 메인 서버 트래픽 감소, 로딩 속도 개선
- 대표 서비스: Cloudflare, AWS CloudFront, Akamai
- 컨텐츠 캐싱
- 기법: 로컬스토리지, 세션스토리지, 쿠키를 이용한 클라이언트 캐싱
- 서버 측 캐싱: Redis, Varnish 등을 통한 캐시 처리
- 이점: 중복 요청 방지, 서버 부하 경감
- 컨텐츠 압축
- 기법: Gzip, Brotli 압축 사용
- 효과: 네트워크 전송량 50~70% 절감
- 주의점: CPU 리소스를 사용하므로 서버 성능과 트래픽 양을 고려해 적용
- 컨텐츠의 우하향 저하 (Graceful Degradation)
- 전략: 시스템 과부하 시 일부 기능 제한
- 예: 검색 비활성화, 결과 수 축소, 정적 페이지 제공
- 장점: 핵심 기능 유지 → 사용자 경험 최소 손상
- 전략: 시스템 과부하 시 일부 기능 제한
| 분류 | 방법 | 핵심 내용 |
| 리소스 감시 | 모니터링 & Auto-Scaling | 서버 상태 감시 → 자동 인스턴스 조절 |
| 분산 처리 | 로드밸런서 | 트래픽 균등 분산, 장애 서버 차단 |
| 장애 방지 | 서킷 브레이커 | 장애 감지 후 요청 차단, Fail Fast |
| 비정상 상황 대응 | 블랙스완 대응 | 예측 불가 사고에 체계적 대응 |
| 컨텐츠 최적화 | CDN, 캐시, 압축 | 서버 부하 줄이기 위한 콘텐츠 전략 |
'ZeroBase > CS' 카테고리의 다른 글
| 웹페이지 응답 및 렌더링 과정 (1) | 2025.08.03 |
|---|---|
| 브라우저 렌더링(Browser Rendering) (1) | 2025.08.02 |
| 네트워크 장치 (1) | 2025.07.30 |
| HTTP 메서드 PUT, PATCH 차이 (3) | 2025.07.29 |
| HTTP메서드 GET, POST 차이 (1) | 2025.07.28 |