마이크로서비스 아키텍처(MSA)에서는 하나의 요청이 여러 서비스를 거쳐 처리됩니다.
서비스 수가 많아지고 호출 경로가 복잡해질수록, 성능 병목 지점과 장애 원인을 파악하기 어려워집니다.
예시:
Trace ID: 12345-abcde-67890
서비스3 (50ms) ✓
서비스2 (30ms) ✓
서비스7 (80ms) ✓
서비스10 (2500ms) ❌ [타임아웃]
서비스12 (실행 안됨)
여기서 병목 지점은 서비스10입니다.
이 문제를 해결하기 위해 분산 추적(Distributed Tracing) 시스템이 필요합니다.
OpenTelemetry는 오픈소스 기반 관측성(Observability) 프레임워크로, 다음을 모두 수집합니다.