Zipkin - 분산 추적

이재철·2021년 10월 23일
0

MSA

목록 보기
11/13
  • https://zipkin.io/
  • 분산 환경에서의 시스템 병목 현상 파악
  • Twitter에서 사용하는 분산 환경의 Timing 데이터 수집, 추적 시스템(오픈 소스)
  • Collector, Query Service, Databasem WebUi 로 구성
  • Span
    • 하나의 요청에 사용되는 작업의 단위
    • 64bit unique ID
  • Trace
    • 트리 구조로 이루어진 Span 셋
    • 하나의 요청에 대한 같은 Trace ID 발급

Spring Cloud Sleuth

  • 스프링 부트 애플리케이션을 Zipkin과 연동
  • 요청 값에 따른 TraceID, SpanId 부여
  • Trace와 Span Ids를 로그에 추가 가능
    • servlet filter
    • rest templete
    • scheduled actions
    • message channels
    • feign client

설치

curl -sSL https://zipkin.io/quickstart.sh | bash -s
java -jar zipkin.jar

사용해보기

user-service

  • pom.xml
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-sleuth</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-zipkin</artifactId>
        </dependency>
  • application.yml
spring:
  zipkin:
    base-url: http://127.0.0.1:9411
    enabled: true
  sleuth:
    sampler:
      probability: 1.0
      

0개의 댓글