내 연락처 정보
우편메소피아@프로톤메일.com
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
마이크로서비스 아키텍처에서는 서비스 간의 호출 링크가 매우 복잡할 수 있으므로 문제 위치를 파악하고 성능을 최적화하기가 어렵습니다. 이 문제를 해결하기 위해 분산 추적 시스템을 사용하여 마이크로서비스 아키텍처 전체의 요청 링크를 모니터링하고 진단할 수 있습니다. Zipkin과 Spring Cloud Sleuth는 이 목표를 달성하는 데 도움이 되는 두 가지 매우 인기 있는 도구입니다.
마이크로서비스 아키텍처에서는 사용자 요청이 여러 서비스에 의해 처리될 수 있습니다. 분산 추적 시스템이 없으면 문제가 발생했을 때 어떤 서비스에 문제가 있는지, 어떤 서비스 호출 링크에 문제가 있는지 파악하기 어렵습니다. 분산 추적 시스템은 다음과 같은 도움을 줄 수 있습니다.
아래에서는 간단한 예를 사용하여 Spring Boot 애플리케이션에 Zipkin과 Spring Cloud Sleuth를 통합하는 방법을 보여줍니다.
먼저 Spring Boot 프로젝트를 생성해야 합니다. Spring 초기화를 사용하면 프로젝트를 신속하게 생성하고 다음 종속성을 추가할 수 있습니다.
- <dependencies>
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-web</artifactId>
- </dependency>
- <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>
- </dependencies>
존재하다application.properties
파일에 다음 구성을 추가합니다.
- spring.application.name=my-service
- server.port=8080
-
- spring.zipkin.base-url=http://localhost:9411
- spring.sleuth.sampler.probability=1.0
spring.zipkin.base-url
Zipkin 서버의 주소를 지정합니다.spring.sleuth.sampler.probability
모든 추적 데이터를 기록하려면 1.0으로 설정합니다.서비스 호출을 시뮬레이션하기 위한 간단한 REST 컨트롤러를 만듭니다.
- import org.springframework.web.bind.annotation.GetMapping;
- import org.springframework.web.bind.annotation.RestController;
- import org.springframework.web.client.RestTemplate;
-
- @RestController
- public class MyController {
-
- private final RestTemplate restTemplate;
-
- public MyController(RestTemplate restTemplate) {
- this.restTemplate = restTemplate;
- }
-
- @GetMapping("/hello")
- public String hello() {
- String response = restTemplate.getForObject("http://localhost:8081/greeting", String.class);
- return "Hello, " + response;
- }
- }
이 예에서는/hello
엔드포인트가 다른 서비스를 호출합니다./greeting
끝점.
Docker를 통해 Zipkin 서버를 빠르게 시작할 수 있습니다.
docker run -d -p 9411:9411 openzipkin/zipkin
Spring Boot 애플리케이션을 시작하고 다음을 방문하세요.http://localhost:8080/hello
끝점. 이 시점에서 Spring Cloud Sleuth는 요청에 대한 추적 정보를 자동으로 생성하고 이 정보를 Zipkin 서버로 보냅니다.
브라우저를 열고 방문하세요.http://localhost:9411
, Zipkin의 웹 인터페이스가 표시됩니다. 여기에서 각 요청에 소요된 시간, 통화 링크 등을 포함한 모든 추적 정보를 볼 수 있습니다.
Zipkin과 Spring Cloud Sleuth를 통합함으로써 마이크로서비스 아키텍처에서 분산 추적을 쉽게 구현할 수 있습니다. 이는 문제를 신속하게 찾아 해결하는 데 도움이 될 뿐만 아니라 시스템 성능을 최적화하는 데에도 도움이 됩니다. 이 블로그가 여러분이 이 두 가지 강력한 도구를 이해하고 사용하는 데 도움이 되기를 바랍니다.