본문 바로가기

MicroService

Sleuth란?

Sleuth란?

MSA구조에서 클라이언트의 호출이 내부적으로 여러 마이크로서비스를 거쳐서 일어난다. 이와 같은 구조때문에 전체 트랜잭션에 대한 로그 추적이 어렵다. 

이를 추적하기 위해서는 연관된 ID가 필요하다. 이러한 ID(trace, span)를 자동으로 생성해주는 것이 Spring Cloud Sleuth이다.

Spring Cloud Sleuth의 ID 체계

Span ID

  • 하나의 작업 단위, 각 서비스 호출시 새로운 Span ID가 생성
  • Trace중 첫번째 생성된 Span ID를 Root Span이라 부름

Trace ID

  • 최초 호출시 실행되는 서비스에서 생성 



트위터의 집킨(Zipkin), 클라우데라의 HTrace 및 구글의 대퍼(Dapper)등의 UI툴을 이용하면 분산 환경의 로그 트레이싱을 쉽게 할 수 있다.


Spring Cloud Sleuth의 기능

Slf4J의 로그에 [ Span Id, Trace Id ] 를 추가할 수 있다.

2018-05-11 15:21:46.466 INFO [sleuth-example,8f8964f0eebf01a8,8f8964f0eebf01a8,false ] 2647