Phase 1레슨 5
Load Balancer
L4/L7, Round Robin, Least Connection, Health Check, Sticky Session
💡ELI5·
Load Balancer를 은행 창구에 비유하면
Load Balancer
/ | \
API1 API2 API3💡 비유 — Load Balancer = 은행의 번호표 기계. 손님을 여러 창구(서버)에 골고루 분배한다. 한 창구가 '잠시 휴식'(장애)하면 다른 창구로 손님을 보낸다(Health Check).
🔬Deep Dive·
L4 vs L7 Load Balancer
| 구분 | L4 (전송 계층) | L7 (응용 계층) |
|---|---|---|
| 분산 기준 | IP, Port | HTTP Header, URL, Cookie, Body |
| 속도 | 빠름 (패킷 검사 최소) | 상대적으로 느림 (패킷 내용 검사) |
| 라우팅 유연성 | 낮음 | 높음 (경로별, 도메인별) |
| 예시 | AWS NLB, LVS | AWS ALB, NGINX, HAProxy |
| SSL Termination | 불가 (TCP 수준) | 가능 (HTTPS 해독) |
🔬Deep Dive·
로드 밸런싱 알고리즘
| 알고리즘 | 동작 | 적합한 상황 |
|---|---|---|
| Round Robin | 순차적 분산 | 서버 스펙이 동일한 경우 |
| Least Connection | 연결 수가 가장 적은 서버 | 요청 처리 시간이 다양한 경우 |
| Weighted Round Robin | 가중치 적용 Round Robin | 서버 스펙이 다른 경우 |
| IP Hash | 클라이언트 IP 해시 → 같은 서버 | Sticky Session이 필요한 경우 |
| Random | 무작위 분산 | 간단한 구현, 균등 분산 시 |
⚖️Trade-off·
Trade-off
Load Balancer는 단일 장애점(SPOF)을 해결해 주지만, Load Balancer 자체가 SPOF가 될 수 있다. 이중화로 방지해야 한다. 또한 Stateful 서버에서는 Sticky Session이 필요하지만, 이는 부하 분산을 불균형하게 만든다.
❓ 체크포인트 질문
- 1.L4 Load Balancer와 L7 Load Balancer의 차이는?
- 2.Round Robin과 Least Connection 알고리즘의 차이는?
- 3.Health Check가 장애 감지에서 어떤 역할을 하는가?
- 4.Sticky Session이 필요한 상황은?
- 5.Load Balancer 자체가 SPOF가 되는 것을 어떻게 방지하는가?