技術共有

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. 単純な Spring Boot サービスを作成する
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の編集者が制作したものなので、品質の高いものであることは間違いありません。転載する場合は出典を明記してください。