Berbagi teknologi

Integrasikan sistem penelusuran terdistribusi dalam proyek Spring Boot

2024-07-12

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

Integrasikan sistem penelusuran terdistribusi dalam proyek Spring Boot

Halo semuanya, Saya editor Weizhuang Taoke System 3.0, dan saya juga seorang programmer yang tidak memakai celana panjang di musim dingin, tetapi tetap harus anggun dalam cuaca dingin!

Dalam sistem terdistribusi yang kompleks, menemukan dan memecahkan masalah merupakan sebuah tantangan. Sistem pelacakan terdistribusi membantu pengembang menganalisis dan mengoptimalkan kinerja sistem dengan melacak rantai panggilan permintaan, memastikan koordinasi dan kerja sama antara berbagai layanan. Artikel ini akan membahas cara mengintegrasikan sistem penelusuran terdistribusi dalam proyek Spring Boot untuk meningkatkan kemampuan observasi dan pemecahan masalah sistem.

1. Mengintegrasikan sistem penelusuran terdistribusi

1.1. Zipkin dan Spring Cloud Sleuth

Spring Cloud Sleuth adalah solusi penelusuran terdistribusi yang disediakan oleh Spring Cloud. Solusi ini terintegrasi dengan sistem penelusuran terdistribusi sumber terbuka seperti Zipkin untuk melacak dan memantau tautan panggilan layanan.

1.2. Memperkenalkan ketergantungan

Dalam proyek Spring Boot, fungsi penelusuran terdistribusi dapat diintegrasikan dengan cepat dengan memperkenalkan dependensi Spring Cloud Sleuth dan 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. Mengonfigurasi sistem penelusuran terdistribusi

Konfigurasikan alamat server Zipkin di application.properties atau application.yml:

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

2. Contoh kode

2.1. Buat layanan Spring Boot sederhana
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. Jalankan layanan dan amati informasi pelacakan

Setelah memulai aplikasi, kunjungi http://localhost:9411 (port default Zipkin), dan Anda dapat melihat informasi tautan panggilan yang dipanggil antar layanan.

3. Kesimpulan

Mengintegrasikan sistem penelusuran terdistribusi tidak hanya dapat membantu pengembang menemukan dan memecahkan potensi masalah dan anomali kinerja, namun juga meningkatkan kemampuan pengamatan sistem, membuat status pengoperasian sistem terlihat jelas dalam sekejap. Melalui metode yang diperkenalkan dalam artikel ini, pengembang dapat dengan mudah mengintegrasikan sistem penelusuran terdistribusi dalam proyek Spring Boot, menambahkan lebih banyak transparansi dan kemampuan kontrol ke arsitektur terdistribusi yang kompleks.

Diproduksi oleh editor Micro-earning Taoke System 3.0, produk tersebut harus berkualitas tinggi. Harap sebutkan sumbernya saat mencetak ulang!