MSA/MSA관련기술
micro service 분산 추적 zipkin
문자메일
2022. 12. 8. 04:04
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 라이브러리가 처리해줌