Tracing v CodeNOW pro Java Spring Boot
Jak implementovat a používat distribuovaný tracing v CodeNOW pro aplikace v Java Spring Boot.

Přehled
Distribuované trasování poskytuje viditelnost do toků požadavků napříč komponentami aplikace. Podle článku "Unikátní trace ID je generováno pro každý nový požadavek. Když nějaká komponenta obdrží požadavek, je pro tuto komponentu přiřazen nový span a span je přidán do trace."
Kroky implementace
Závislosti
Přidejte tyto knihovny do vaší Maven konfigurace:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-sleuth</artifactId>
<version>3.0.2</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-sleuth-zipkin</artifactId>
<version>3.0.2</version>
</dependency>
Konfigurace
Aktualizujte application.yaml s nastavením trasování:
Pro nasazení v CodeNOW:
spring:
application:
name: demo-app-spring-bl
zipkin:
enabled: true
baseUrl: http://tracing-jaeger-collector.tracing-system:9411
sleuth:
propagation:
type: B3
tag:
enabled: true
Pro lokální vývoj:
Nahraďte URL collectoru za http://localhost:9411
Pro integraci s Kafka:
Povolte trasování messagingu přidáním:
spring:
sleuth:
messaging:
kafka:
enabled: true
Trasování databázových dotazů
Průvodce doporučuje vytvořit komponentu TracingHelper a AOP aspekt pro automatické generování spanů pro volání repository, čímž se eliminuje manuální správa spanů pro databázové operace.
Vlastní spany
Vývojáři mohou manuálně vytvářet spany pomocí poskytnuté helper třídy, zabalením operací do try-finally bloků pro zajištění správné správy životního cyklu.
Napsal/a CodeNOW


