Computer Science/MSA

080821 MSA_SpringCloud

suleesulee 2021. 8. 10. 00:28

Micro Service의 분산 추적

Zipkin

- 타이밍 데이터 수집, 추적 시스템

- Google의 Drapper에서 발전

- 분산환경에서 시스템 병목현상 파악

- Collector, Query Service, Database, Web ui로 구성

- Span

    하나의 요청에 사용되는 단위

    64bit UniqID

- Trace

    트리구조로 이루어진 Span Set 

    하나의 요청에 대한 같은 TraceID 발급

 

SpringCloud Sleuth

- Spring Boot APP과 Zipkin과 연동

- 요청 값에 따른 Span ID,Trace ID 부여

- Trace, Span ID를 로그에 추가 가능

    Servlet filter, REST Template, Scheduled Actions, Message Channels, Feign Client

- Trace ID는 연속되는 과정에서 발행되는 값이 동일

--->그림추가

 

 

 

Zipkin을 설치하고(Curl이나 github에서 다운로드) 

사용할 서비스의 pom.xml에 Zipkin, Sleuth의 Dependency 추가

Sl4J를 사용하여 로그 찍으면 로그에 Trace ID, Span ID가 남음

Zipkin Web에서 Trace ID를 검색하면 해당 Trace ID의 모든 Sequence가 추적됨