이번 포스트에서는 쿠버네티스에서 Jaeger + Istio를 활용해 서버 간 요청을 트레이싱하는 기초적인 방법에 대해서 알아본다. 내가 일하고 있는 데브시스터즈에서는 jaeger 트레이싱을 굉장히 적극적으로 활용하고 있다. 1.
트레이싱 소개 1.1 트레이싱 (tracing) 이란? 최근 서비스 메쉬 솔루션이 부상하기 시작하면서 MSA 서버 사이에서의 요청 트레이싱 (tracing) 이 함께 회자되고 있다.
MSA의 갯수가 많아지고 각 서버 간의 요청 관계가 복잡해질수록 장애 및 병목 지점을 찾아내는 것이 어려워지는데, 트레이싱은 이를 해결하기 위한 insight를 제공해준다. 뿐만 아니라, 서버 내부의 어느 함수에서 시간을 많이 소요하는지, 어느 경우에 레이턴시가 튀는지 등을 확인하기 위한 용도로도 쓰일 수 있다.
즉, 트레이싱은 주로 아래 두 가지를 위한 메트릭을 수집하고 시각화하는 작업이라고 이해하면 된다. HTTP, gRPC 등의 프로토콜을 사용하는 서버 간의 요청 추적 (e...