Open Tracing 이란 무엇인가

⚡️ 탄생 배경

  • Microservice Architecture 를 구현하고 이를 클라우드 환경에 띄우면서, 서비스의 로깅과 모니터링이 더욱 까다롭고 중요해졌습니다.

  • MSA 에서는 하나의 요청이 내부적으로 여러개의 서비스를 거쳐 동작하므로, 어느 구간에서 이슈가 발생했는지 추적하기 위해 '분산 로그 추적 시스템' 이 필요해졌습니다.

⚒ 작동 원리

  • 클라이언트 → 서버 로의 호출을 하나의 Trace 로 정의하고, 서비스 컴포넌트간의 호출은 Span 으로 정의합니다.

  • 하나의 요청을 추적하기 위해서 같은 TraceId 를 사용하고, 서비스 컴포넌트간의 호출은 다른 SpanId 를 사용합니다.

  • 이에 따라, 전체 트랜잭션 시간은 Trace 로 추적하고, 서비스별 소요시간은 Span 으로 추적합니다.

📭 Open Source 종류

  • Zipkin (트위터)

  • Jagger

  • Opencensus

✔️ Cross-Process Transaction / Distributed Transaction 의미 - 여러개의 서비스, 플랫폼에서 이루어지는 트랜잭션의 전체 경로를 수집하여 추적한다는 의미입니다.

✔️ 더 알아볼것 - AOP

Last updated