Distributed tracing met Sleuth/Zipkin
Integreer Spring Cloud Sleuth en Zipkin voor distributed tracing en krijg inzicht in aanvraagstromen door uw microservices heen.
Distributed tracing met Sleuth/Zipkin is een gratis API-gateway en reverse proxy (Nginx + Spring Cloud Gateway)-les op CoddyKit. Dit is les 2 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject API-gateway en reverse proxy (Nginx + Spring Cloud Gateway). Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus API-gateway en reverse proxy (Nginx + Spring Cloud Gateway) bevat in totaal 4 lessen.
Wat is distributed tracing?
In microservices loopt één gebruikersverzoek vaak door veel verschillende services. Daardoor is het lastig om de route van het verzoek te volgen.
Distributed tracing is een techniek waarmee je het pad van een verzoek kunt volgen terwijl het zich door verschillende services in je systeem verplaatst.
Waarom microservices traceren?
Zonder tracing lijkt het oplossen van problemen in microservices op het zoeken naar een speld in een hooiberg. Je weet niet welke service is uitgevallen of waar de vertraging is ontstaan.
- Fouten opsporen: Lokaliseer fouten sneller.
- Prestaties: Identificeer knelpunten in de verzoekstroom.
- Inzicht: Begrijp hoe services met elkaar communiceren.
Sleuth: tracing mogelijk maken
Spring Cloud Sleuth integreert met Spring-applicaties om automatisch tracinginformatie aan verzoeken en logregels toe te voegen.
Het voegt unieke identificatiegegevens toe aan HTTP-headers en loggingcontexten, zodat je gerelateerde bewerkingen in verschillende services aan elkaar kunt koppelen.
Trace- en span-ID's uitgelegd
Sleuth gebruikt twee belangrijke ID's:
- Trace-ID: Een unieke ID voor het volledige verzoek, van begin tot eind, in alle services die het aandoet.
- Span-ID: Een unieke ID voor één bewerking of werkeenheid binnen een service, zoals een HTTP-verzoek of een aanroep van een methode. Spans vormen binnen een trace een boomstructuur.
Sleuth-afhankelijkheid toevoegen
Voeg om Sleuth in je Spring Boot-applicatie in te schakelen de afhankelijkheid spring-cloud-starter-sleuth toe aan je pom.xml (Maven) of build.gradle (Gradle).
Voor Maven:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-sleuth</artifactId>
</dependency>Voor Gradle:
implementation 'org.springframework.cloud:spring-cloud-starter-sleuth'Zipkin: de tracinginterface
Sleuth voegt tracinginformatie toe, maar je hebt een manier nodig om deze te verzamelen en te visualiseren. Daar komt Zipkin van pas.
Zipkin is een systeem voor distributed tracing dat tracedata verzamelt en opslaat en vervolgens een webinterface biedt om deze traces te zoeken en te bekijken.
Zipkin-server uitvoeren
De eenvoudigste manier om Zipkin lokaal uit te voeren is Docker gebruiken. Met deze opdracht haal je de Zipkin-image op en start je deze op poort 9411.
docker run -d -p 9411:9411 openzipkin/zipkinDaarna kun je de Zipkin-interface in je browser openen op http://localhost:9411.
Sleuth configureren voor Zipkin
Zodra Zipkin actief is, geef je je met Sleuth uitgeruste Spring Boot-applicatie door waar deze haar tracedata naartoe moet sturen. Voeg dit toe aan je application.properties of application.yml.
application.properties:
spring.zipkin.base-url=http://localhost:9411Je applicatie stuurt nu tracedata naar de lokale Zipkin-server.
Een serviceaanroep traceren
Laten we bekijken hoe een eenvoudige Spring Boot-service trace-ID's logt. Met Sleuth bevatten je logregels automatisch [appName,traceId,spanId,exportable].
Voer deze eenvoudige applicatie uit en stuur vervolgens een verzoek naar /hello. Controleer de consolelogregels op de toegevoegde ID's.
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 TracingApp {
public static void main(String[] args) {
SpringApplication.run(TracingApp.class, args);
}
@GetMapping("/hello")
public String hello() {
System.out.println("Hello endpoint called!");
return "Hello from TracingApp!";
}
}Korte controle
Welke van de volgende uitspraken beschrijven de rollen van Spring Cloud Sleuth en Zipkin bij distributed tracing correct? (Selecteer alle juiste antwoorden.)
Samenvatting en volgende stappen
Je hebt geleerd hoe distributed tracing helpt bij microservices, vooral in combinatie met Spring Cloud Sleuth en Zipkin.
- Sleuth: Integreert met Spring-apps om
traceIdenspanIdtoe te voegen. - Zipkin: Verzamelt deze traces en biedt een interface voor visualisatie en analyse.
Deze tools zijn essentieel om complexe gedistribueerde systemen te begrijpen en fouten erin op te sporen.
Leer API-gateway en reverse proxy (Nginx + Spring Cloud Gateway) met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 12
- Lessen
- 48
Veelgestelde vragen
Is de les “Distributed tracing met Sleuth/Zipkin” gratis?
Ja — de volledige tekst van “Distributed tracing met Sleuth/Zipkin” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus API-gateway en reverse proxy (Nginx + Spring Cloud Gateway) wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus API-gateway en reverse proxy (Nginx + Spring Cloud Gateway) bevat in totaal 4 lessen.
Wat leer ik in “Distributed tracing met Sleuth/Zipkin”?
Integreer Spring Cloud Sleuth en Zipkin voor distributed tracing en krijg inzicht in aanvraagstromen door uw microservices heen. Je oefent met API-gateway en reverse proxy (Nginx + Spring Cloud Gateway) door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met API-gateway en reverse proxy (Nginx + Spring Cloud Gateway) te beginnen?
Ervaring vooraf is niet nodig. API-gateway en reverse proxy (Nginx + Spring Cloud Gateway) op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 2 van 4.
Hoe lang duurt de les “Distributed tracing met Sleuth/Zipkin”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over API-gateway en reverse proxy (Nginx + Spring Cloud Gateway)?
Ja. Elke les over API-gateway en reverse proxy (Nginx + Spring Cloud Gateway) bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- JWT-authenticatie en autorisatie
- Distributed tracing met Sleuth/Zipkin
- Centrale configuratie met Config Server
- Metrics beschikbaar maken met Actuator en Prometheus