본문 바로가기
MSA/MSA관련기술

micro service 분산 추적 zipkin

by 문자메일 2022. 12. 8.

1. maven 파일

<!-- zipkin -->
<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>
   <version>2.2.3.RELEASE</version>
</dependency>

 

2. application.yml

spring:
  application:
    name: user-service
  zipkin:
    base-url: http://127.0.0.1:9411
    enabled: true
  sleuth:
    sampler:
      probability: 1.0

 

 

3. 원하는 포인트에 log 남겨서 확인. 아래에서는 log.info() 부분

log.info("Before call orders microservice");
CircuitBreaker circuitBreaker = circuitBreakerFactory.create("circuitbreaker");
List<ResponseOrder> orderList = circuitBreaker.run(()->orderServiceClient.getOrders(userId),
        throwable -> new ArrayList());
log.info("After called orders microservice");

 

4. 아래 명령으로 zipkin 서버 다운받은 후 zipkin 서버 실행

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

java -jar zipkin.jar

 

 

 

마이크로 서비스들이 서로간에 호출을 하면서 발생되었던 순차적인 흐름들, 순차적인 데이터 호출 관계 이력을 정확하게 보관하고 있는 역할을 zipkin 서버가 수행하고, 스프링부트에서 발생했던 로그 값을 zipkin 서버로 전달하는 것을 sleuth 라이브러리가 처리해줌

 

 

 

댓글