Phase 8레슨 38
Netflix 아키텍처
Chaos Engineering, Multi-Region, A/B Testing, Streaming Pipeline — 장애를 먹는 시스템
💡ELI5·
이중화와 Netflix
Multi-Region Active-Active:
미국 리전 (활성) ←→ 유럽 리전 (활성)
↕ ↕
아시아 리전 (활성)
한 리전 장애 → 다른 리전이 트래픽 흡수
사용자는 장애를 모름
+ Chaos Monkey: 매일 무작위 인스턴스 종료
→ "이래도 서비스가 유지되는가?" 검증💡 비유 — 한 식당이 아니라 같은 메뉴의 식당을 여러 곳에 동시에 운영. 한 식당이 불나도 다른 식당이 손님을 받는다. 게다가 매일 무작위로 직원을 한 명씩 쉬게 해서, 부족해도 운영되는지 점검(Chaos Monkey).
🔬Deep Dive·
Netflix 아키텍처 계층
| 계층 | 역할 | 기술 |
|---|---|---|
| Client | UI, A/B 테스트, 적응 스트리밍 | React, Native, ABR |
| Edge (Zuul) | API 게이트웨이, 라우팅, 인증 | Zuul, Eureka |
| Service | 비즈니스 로직 (마이크로서비스) | Spring Boot, 500+ 서비스 |
| Data | 사용자 데이터, 시청 이력 | Cassandra, EVCache, Kafka |
| CDN | 비디오 콘텐츠 배포 | Open Connect (자체 CDN) |
🔬Deep Dive·
Open Connect — 자체 CDN
Netflix는 비디오 트래픽이 너무 커서 범용 CDN(Akamai 등)으로 감당이 안 됨. ISP와 직접 파트너십을 맺어 ISP 데이터센터 내에 캐시 서버를 무료로 배치. 이를 Open Connect라 함. 전 세계 인터넷 트래픽의 15%+를 차지하면서도 비용을 최소화.
⚖️Trade-off·
Netflix 아키텍처의 Trade-off
| 선택 | 이점 | 대가 |
|---|---|---|
| Multi-Region Active-Active | 리전 장애 무영향 | 3배 인프라 비용 |
| Chaos Engineering | 장애 대응 능력 | 실험 시간 + 위험 |
| 500+ 마이크로서비스 | 독립 배포/확장 | 관측성 복잡성 |
| 자체 CDN (Open Connect) | 비디오 비용 최소화 | CDN 운영 부담 |
| 수백 A/B 테스트 | 데이터 기반 의사결정 | 복잡한 실험 인프라 |
❓ 체크포인트 질문
- 1.Netflix가 Multi-Region Active-Active를 사용하는 이유는?
- 2.Netflix가 Chaos Engineering을 시작한 이유는?
- 3.Netflix의 A/B 테스트가 아키텍처에 미치는 영향은?
- 4.스트리밍 파이프라인의 핵심 구성은?
- 5.Netflix가 Hystrix를 만들고 deprecate한 이유는?