Rumah  >  Artikel  >  Java  >  Cara menggunakan Java untuk membangunkan sistem pengesanan teragih berdasarkan Spring Cloud Sleuth

Cara menggunakan Java untuk membangunkan sistem pengesanan teragih berdasarkan Spring Cloud Sleuth

WBOY
WBOYasal
2023-09-20 12:33:091289semak imbas

如何使用Java开发一个基于Spring Cloud Sleuth的分布式追踪系统

Cara menggunakan Java untuk membangunkan sistem pengesanan teragih berdasarkan Spring Cloud Sleuth

Pengenalan:
Dengan populariti seni bina perkhidmatan mikro, semakin banyak aplikasi diubah daripada aplikasi monolitik tunggal kepada berbilang perkhidmatan mikro Sistem teragih yang terdiri daripada perkhidmatan. Dalam sistem teragih yang kompleks, menjadi sangat sukar untuk mengesan laluan panggilan permintaan. Pada masa ini, sistem pengesanan teragih yang boleh dipercayai dan berkesan menjadi penting. Artikel ini akan memperkenalkan anda kepada cara menggunakan Java untuk membangunkan sistem pengesanan teragih berdasarkan Spring Cloud Sleuth dan memberikan contoh kod khusus.

1. Apakah itu sistem pengesanan teragih?
Sistem pengesanan teragih ialah alat yang digunakan untuk memantau dan mengesan laluan panggilan permintaan dalam sistem teragih. Ia mengesan rantai panggilan permintaan dengan menghantar pengecam unik (Trace ID) antara pelbagai perkhidmatan. Sistem pengesanan teragih boleh merekodkan masa permintaan, masa tindak balas, laluan permintaan dan hubungan topologi setiap perkhidmatan, dan mengagregat, menganalisis dan memaparkan maklumat ini untuk memudahkan pembangun mencari dan menyelesaikan masalah.

2. Pengenalan kepada Spring Cloud Sleuth
Spring Cloud Sleuth ialah penyelesaian pengesanan teragih berasaskan Zipkin yang disediakan dalam ekosistem Spring Cloud. Ia membentuk pautan panggilan lengkap dengan menambahkan pengepala HTTP standard dan beberapa data pada setiap permintaan perkhidmatan, dan kemudian menghantar data ini ke Pelayan Zipkin untuk pengagregatan dan paparan.

3. Contoh membangunkan sistem pengesanan teragih

  1. Gunakan Spring Boot untuk mencipta sistem teragih yang mudah
    Pertama, kita perlu mencipta sistem teragih yang mengandungi pelbagai perkhidmatan mikro. Dalam contoh ini, kami mencipta dua perkhidmatan mikro: Perkhidmatan Pesanan dan Perkhidmatan Produk. Perkhidmatan Pesanan menerima permintaan pesanan dan memanggil Perkhidmatan Produk untuk melaksanakan operasi inventori produk.
  2. Tambah kebergantungan
    Dalam setiap fail pom.xml perkhidmatan, tambahkan kebergantungan 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>
  3. Konfigurasikan aplikasi
    Dalam fail konfigurasi setiap perkhidmatan, tambahkan konfigurasi berikut:

    spring:
      zipkin:
     base-url: http://localhost:9411
    sleuth:
      sampler:
     probability: 1.0
  4. Use dalam kod
  5. Dalam kod Perkhidmatan Pesanan dan Perkhidmatan Produk, gunakan objek Pengesanan untuk menjejaki permintaan. Pada permulaan rantaian panggilan, buat Span baharu dan tambahkan Trace ID pada permintaan. Apabila permintaan dihantar antara setiap perkhidmatan, maklumat Span yang sepadan ditambah secara automatik pada permintaan.

    @Autowired
    private Tracer tracer;
    
    public void placeOrder(Order order) {
     Span span = tracer.createSpan("placeOrder");
     try {
         // 业务逻辑
         productClient.updateProductStock(order.getProductId(), order.getQuantity());
     } finally {
         tracer.close(span);
     }
    }

    Mulakan Pelayan Zipkin
  6. Muat turun dan mulakan Pelayan Zipkin, lawati http://localhost:9411 untuk melihat maklumat penjejakan.

  7. Uji sistem pengesanan yang diedarkan
  8. Mulakan Perkhidmatan Pesanan dan Perkhidmatan Produk dan hantar permintaan pesanan. Kemudian semak maklumat penjejakan pada antara muka Zipkin Anda boleh melihat bahawa permintaan pesanan dihantar dari Perkhidmatan Pesanan ke Perkhidmatan Produk, dan maklumat seperti laluan panggilan permintaan dan masa antara perkhidmatan dipaparkan.

  9. Kesimpulan:
Artikel ini memperkenalkan cara menggunakan Java untuk membangunkan sistem pengesanan teragih berdasarkan Spring Cloud Sleuth. Dengan menggunakan Spring Cloud Sleuth dan Zipkin, kami boleh menjejak dan memantau laluan panggilan permintaan dengan mudah dalam sistem yang diedarkan. Saya harap artikel ini akan membantu semua orang memahami dan menggunakan sistem pengesanan teragih.

Atas ialah kandungan terperinci Cara menggunakan Java untuk membangunkan sistem pengesanan teragih berdasarkan Spring Cloud Sleuth. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn