Netflix 가 본 1 PB 로그 · 2026-07-11
"1 개 서버는 MRI, 100 개 서버는 CCTV 망."
모르는 단어 나오면 이 표 다시.
"한 요청을 시작 부터 끝 까지 따라간다."
마이크로서비스 = 필수. 모놀리스도 DB / 캐시 / 외부 API 추적.
[Trace] = 한 요청의 전체 여정 ↓ [Span 1] gateway (50ms) ├ [Span 2] auth (10ms) ├ [Span 3] order (200ms) │ ├ [Span 4] DB (180ms) ← 핫스팟! │ └ [Span 5] redis (5ms) └ [Span 6] notify (20ms)
Span 들이 모여 Trace. Span 트리에서 가장 굵은 가지 = 핵심 병목.
Request → gateway 서비스 HTTP header: trace-id=abc-123 gateway → order 서비스 HTTP header: trace-id=abc-123 parent-span=g-001 order → DB / redis / notify HTTP/RPC header: trace-id=abc-123 parent-span=o-002
모든 호출이 같은 trace-id 공유 → 추적 가능.
OTel = 추적·로그·메트릭 통합 표준 (CNCF) 지원: Java / Python / Go / Node 다수 백엔드: Jaeger / Zipkin / Tempo / Datadog
vendor 종속 ↓ 한 SDK 로 모든 언어
management: tracing.sampling.probability: 1.0 zipkin.tracing.endpoint: http://...
Spring Boot 3 + Micrometer HTTP / DB / Redis 자동 계측
지금까지: 코드에 _계측 라이브러리_ 박기 ↓ 2020+ : 인프라가 _자동_ 으로 추적
"추적은 라이브러리 가 아니라 인프라 의 책임이다."
[Pod] App ←→ Envoy ←→ 외부 (sidecar proxy)
Envoy 가 가로채서 trace-id 자동 주입 + Jaeger 전송.
App 코드 _0줄_ 변경 K8s 환경 필요
선택 = 운영 복잡도 vs 기능 공통: _코드 변경 X_ + _자동 추적_
둘 다 보완. SDK 로 깊이 + Mesh 로 커버리지.
자체 기술 블로그 / 공개 컨퍼런스 발표 기준.
Netflix — 1 PB / day 추적 데이터 Uber — Jaeger 를 _자체 개발_ 후 오픈소스 Twitter/X — Zipkin 을 _자체 개발_ 후 오픈소스
일반 회사: SaaS APM (DataDog / NewRelic) 채택 다수 대규모: OSS (Jaeger / Tempo) 자체 운영
트래픽 큰 회사는 자체 개발·오픈소스화 패턴.
규모: - 1 PB / day 추적 데이터 - 1 초에 수백만 트랜잭션 - 700+ 마이크로서비스 도입 효과: - 장애 _복구 시간_ 1 시간 → 5 분 - SLA p99 _안정성_ ↑ - 새 서비스 _병목 사전 발견_
"추적 없이 마이크로서비스 = 안개 속 운전."
모든 요청 추적 → 저장소 폭발 추적 자체가 _느려짐_ (overhead) trace-id 안 박힌 _레거시_ 서비스 시간 동기화 _안 됨_ → 순서 뒤섞임
샘플링 1% (또는 적응형) 비동기 + 배치 전송 모든 서비스 _공통 라이브러리_ NTP 동기화
HTTP 요청 → controller → service → repository ↓ ↓ [span 1] [span 2: SQL] ↓ [span 3: redis]
Spring Boot 만으로도 자동 계측 각 단계 _시간 분포_ 확인 마이크로서비스 가기 전 _학습_
부트캠프 학생도 첫 분산 추적 경험 가능.
5 개 모두 여러 서비스 거치는 패턴.
[결제 latency p99 5초 → 800ms 개선] P (문제) 결제 응답 p99 5초 — 어느 단계인지 _추측_ O (옵션) 로그 수집 / APM 도입 / OpenTelemetry D (결정) OpenTelemetry + Jaeger — 표준 + 무료 A (행동) Spring Boot 통합 + 모든 서비스 적용 R (결과) PG span 4초 발견 → 비동기 변환 → p99 800ms
07-week6-profiling
막히면 → {cohort}-질문 채널 + 오피스아워 (화·목 21:00)
{cohort}-질문
21:00
이번 주 = "한 요청 _전체 여정_ 보기" 다음 면접 = "마이크로서비스 추적 어떻게?" 답할 수 있게
다음 격주 강의(W8): Event Sourcing — 캐시 너머.