0Pricing
Spring Boot 4 Complete Guide · レッスン

SleuthとZipkinによる分散トレーシング

Spring Cloud SleuthとZipkinを使用して分散トレーシングを実装し、マイクロサービス間のやり取りを可視化します。

「SleuthとZipkinによる分散トレーシング」はCoddyKit上の無料Spring Boot 4 Complete Guideレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはSpring Boot 4 Complete Guide学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Spring Boot 4 Complete Guideコースには全4レッスンが含まれています。

このレッスンの一部はまだ翻訳されておらず、英語で表示されています。

Tracing Microservices Flow

In microservices architectures, a single user request might travel through many different services. This makes debugging and understanding performance bottlenecks very challenging.

Distributed tracing helps by tracking the full path of a request as it moves across these services, providing end-to-end visibility.

Spring Cloud Sleuth's Role

Spring Cloud Sleuth is a powerful tool that integrates distributed tracing capabilities into your Spring Boot applications. It automatically instruments your services to generate and propagate tracing information.

Sleuth works by adding unique identifiers to every request, allowing you to follow its journey across different service boundaries.

Core Concepts: Trace & Span

Sleuth relies on two fundamental concepts:

  • Trace: Represents a single, complete request or workflow across all participating services. Think of it as the entire story of a request.
  • Span: A single operation within a trace. Each service call, database query, or method execution can be a span. Spans have parent-child relationships, forming a tree structure for the trace.

Every span has a unique ID, and all spans belonging to the same trace share a common trace ID.

Adding Sleuth Dependency

To enable Sleuth in your Spring Boot application, you simply need to add the spring-cloud-starter-sleuth dependency to your project's pom.xml (for Maven) or build.gradle (for Gradle).

This starter pulls in all necessary components for Sleuth to auto-configure itself.

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-sleuth</artifactId>
</dependency>

Basic Sleuth in Action

Once spring-cloud-starter-sleuth is on your classpath, Spring Boot automatically instruments your application. Trace and Span IDs will appear in your logs!

Try running this simple Spring Boot app and observe the console output (though without a full server setup, you won't see actual requests, but the app structure is runnable):

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 MyTracedApplication {

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

  @GetMapping("/hello")
  public String hello() {
    // Sleuth would automatically add trace/span IDs to logs here
    System.out.println("Processing /hello request...");
    return "Hello from Traced Service!";
  }
}

Visualize Traces with Zipkin

While Sleuth adds tracing information to your application's logs, visualizing these traces across multiple services can be complex.

This is where Zipkin comes in! Zipkin is a distributed tracing system that collects and visualizes the trace data generated by Sleuth. It provides a user interface to search and analyze traces.

Launching Zipkin Server

To use Zipkin, you first need to run a Zipkin server. The easiest way is often with Docker:

  • docker run -p 9411:9411 openzipkin/zipkin

Once running, you can access the Zipkin UI in your browser at http://localhost:9411. This UI will display all the traces sent by your Sleuth-enabled applications.

Connecting Sleuth to Zipkin

To send trace data from your Sleuth-enabled application to the Zipkin server, you need to add the spring-cloud-starter-zipkin dependency and configure the Zipkin server's URL.

Add this dependency:

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>

Configuring Zipkin URL

Then, specify the Zipkin server's base URL in your application.properties:

spring.zipkin.base-url=http://localhost:9411

Now, your Spring Boot app will send its trace information to the running Zipkin server for collection and visualization.

Sleuth & Zipkin Check

Let's check your understanding of Spring Cloud Sleuth and Zipkin.

Lesson Summary

In this lesson, you learned about distributed tracing and how Spring Cloud Sleuth and Zipkin provide powerful tools for observability in microservices.

  • Sleuth instruments your applications, generating unique trace and span IDs.
  • Zipkin collects and visualizes this data, offering a clear view of request flows.

Understanding these tools is crucial for debugging, monitoring, and optimizing complex distributed systems.

よくある質問

「SleuthとZipkinによる分散トレーシング」レッスンは無料ですか?

はい。「SleuthとZipkinによる分散トレーシング」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Spring Boot 4 Complete Guideコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Spring Boot 4 Complete Guideコースには全4レッスンが含まれています。

「SleuthとZipkinによる分散トレーシング」で何を学びますか?

Spring Cloud SleuthとZipkinを使用して分散トレーシングを実装し、マイクロサービス間のやり取りを可視化します。 ブラウザで直接実行するハンズオンコードでSpring Boot 4 Complete Guideを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Spring Boot 4 Complete Guideを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのSpring Boot 4 Complete Guideは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。

「SleuthとZipkinによる分散トレーシング」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このSpring Boot 4 Complete Guideレッスンでコードを書いて実行できますか?

はい。すべてのSpring Boot 4 Complete Guideレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. Kubernetesオーケストレーションの基礎
  2. SleuthとZipkinによる分散トレーシング
  3. ヘルスチェックとレジリエンスパターン
  4. MicrometerとPrometheusによるメトリクスとダッシュボード
← Spring Boot 4 Complete Guideに戻る