기술나눔

Spring Boot 프로젝트에 분산 추적 시스템 통합

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Spring Boot 프로젝트에 분산 추적 시스템 통합

안녕하세요 여러분, 저는 Weizhuan Taoke System 3.0의 편집자이자 겨울에는 긴 내복을 입지 않지만 추운 날씨에는 시원해야 하는 프로그래머이기도 합니다!

복잡한 분산 시스템에서는 문제를 찾아 해결하는 것이 어렵습니다. 분산 추적 시스템은 요청의 호출 체인을 추적하고 다양한 서비스 간의 조정 및 협력을 보장함으로써 개발자가 시스템 성능을 분석하고 최적화하는 데 도움이 됩니다. 이 기사에서는 Spring Boot 프로젝트에 분산 추적 시스템을 통합하여 시스템의 관찰 가능성과 문제 해결 기능을 향상시키는 방법을 설명합니다.

1. 분산 추적 시스템 통합

1.1. Zipkin과 Spring Cloud Sleuth

Spring Cloud Sleuth는 Spring Cloud에서 제공하는 분산 추적 솔루션으로 Zipkin과 같은 오픈 소스 분산 추적 시스템과 통합되어 서비스 호출 링크를 추적하고 모니터링합니다.

1.2. 의존성 소개

Spring Boot 프로젝트에서는 Spring Cloud Sleuth와 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>
</dependency>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
1.3. 분산 추적 시스템 구성

application.properties 또는 application.yml에서 Zipkin 서버의 주소를 구성합니다.

spring:
  zipkin:
    base-url: http://localhost:9411 # Zipkin服务器地址
  • 1
  • 2
  • 3

2. 샘플 코드

2.1. 간단한 스프링 부트 서비스 생성
package cn.juwatech.tracingsystem;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@SpringBootApplication
@RestController
public class TraceDemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(TraceDemoApplication.class, args);
    }

    @GetMapping("/hello")
    public String hello() {
        return "Hello, World!";
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
2.2. 서비스 실행 및 추적 정보 관찰

애플리케이션 실행 후 http://localhost:9411(Zipkin 기본 포트)에 접속하시면, 서비스간 호출되는 호출 링크 정보를 보실 수 있습니다.

3. 결론

분산 추적 시스템을 통합하면 개발자가 잠재적인 성능 문제와 이상 현상을 발견하고 해결하는 데 도움이 될 뿐만 아니라 시스템의 관찰 가능성도 향상되어 시스템의 실행 상태를 한 눈에 확인할 수 있습니다. 이 기사에 소개된 방법을 통해 개발자는 분산 추적 시스템을 Spring Boot 프로젝트에 쉽게 통합하여 복잡한 분산 아키텍처에 더 많은 투명성과 제어 기능을 추가할 수 있습니다.

소액적립 타오케시스템 3.0 편집자가 제작한 고급상품이므로 재인쇄시 출처를 꼭 밝혀주세요!