Day 5: CDN, 로드 밸런싱, 고가용성
- CDN(Content Delivery Network)
- 콘텐츠 배포 원리
- 엣지 서버(Edge Server), 캐싱(Cache) 메커니즘
- 로드 밸런서(Load Balancer)
- L4/L7 로드 밸런싱 차이점
- 라운드 로빈, 가중치 기반 분산, 해시 기반 분산
- 고가용성(High Availability) 구성
- 이중화(Active-Standby, Active-Active)
- 장애 감지와 Failover 처리
1. CDN(Content Delivery Network)
CDN은 지리적으로 분산된 서버 네트워크를 통해 사용자와 가장 가까운 서버(엣지 서버)에서 콘텐츠를 제공함으로써, **지연(latency)**을 줄이고 전송 속도를 높이는 기술이다.
1.1 콘텐츠 배포 원리
- 사용자가 웹 페이지나 미디어 파일을 요청한다.
- CDN은 사용자의 위치를 판단하여, 가까운 엣지 서버로 트래픽을 유도한다(주로 DNS 라우팅, Anycast, 지리적 IP 매핑 활용).
- 엣지 서버에서 캐싱된 콘텐츠를 제공한다. 만약 캐시가 없다면, 원본 서버(Origin)에서 콘텐츠를 가져와 캐시에 저장 후 사용자에게 전달한다.
- 이후 동일 또는 유사 위치의 사용자는 엣지 서버에 이미 캐싱된 콘텐츠를 빠르게 받는다.
1.2 엣지 서버(Edge Server), 캐싱(Cache) 메커니즘
-
엣지 서버:
- 사용자와 물리적 거리를 최소화하는 CDN 서버.
- 세계 각 지역에 분산되어 있어 트래픽을 효율적으로 분산 처리하고, 전송 지연을 줄여준다.
-
캐싱(Cache):
- 자주 요청되는 콘텐츠(이미지, 동영상, 정적 파일)를 엣지 서버 디스크/메모리에 임시 저장한다.
- **캐시 적중률(Cache Hit Rate)**이 높을수록 원본 서버 부하가 줄고, 응답 속도도 빨라진다.
- **TTL(Time To Live)**이나 캐시 무효화 정책 등을 통해 최신 콘텐츠를 적절히 유지한다.
2. 로드 밸런서(Load Balancer)
로드 밸런서는 여러 서버(또는 서비스)들에 걸쳐 트래픽을 효율적으로 분산하여, 자원 활용률을 높이고 응답 지연을 줄이는 장치/기술이다.