Introduksjon til distribuert sporing
Forstå hvordan distribuert sporing visualiserer forespørsler som går gjennom flere tjenester, slik at forsinkelser og feil kan lokaliseres
Introduksjon til distribuert sporing er en gratis leksjon i Håndbok for feilsøking i produksjon og hendelseshåndtering på CoddyKit. Dette er leksjon 1 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Håndbok for feilsøking i produksjon og hendelseshåndtering, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Håndbok for feilsøking i produksjon og hendelseshåndtering inneholder totalt 4 leksjoner.
Forstå distribuert sporing
I moderne applikasjoner, særlig de som er bygget med mikrotjenester, kan én enkelt brukerforespørsel gå gjennom mange ulike tjenester. Distribuert sporing er en teknikk som hjelper Dem med å følge en forespørsels reise gjennom disse tjenestene.
Det er som å gi hver forespørsel en unik ID og spore banen trinn for trinn, uansett hvor mange tjenester den berører.
Hvorfor trenger vi sporing?
Se for Dem et nettsted der et knappetrykk involverer nettleseren, en frontend-tjeneste, en API-gateway, en autentiseringstjeneste, en produktdatabase og en anbefalingsmotor. Hvis noe går galt eller er tregt, hvordan vet De hvor problemet ligger?
Tradisjonell logging kommer ofte til kort her. Sporing gir Dem en helhetlig oversikt over hele transaksjonen, slik at det blir enklere å finne den nøyaktige årsaken til problemer.
Sporing i moderne arkitekturer
I en tradisjonell monolitt (én stor applikasjon) er feilsøking ofte enklere fordi all kode kjører på ett sted. De kan bruke en debugger til å gå gjennom kjøringen trinn for trinn.
Med mikrotjenester er applikasjonen delt opp i mange små, uavhengige tjenester. Dette gir fleksibilitet, men gjør feilsøking av forespørselsflyter langt vanskeligere, siden de går på tvers av flere prosesser og maskiner.
Følge en forespørsels bane
Se for Dem en enkel transaksjon i en nettbutikk. Én enkelt «kjøp»-handling fra en bruker kan involvere:
- Nettleseren Deres sender en forespørsel til Frontend-tjenesten.
- Frontend kaller Order-tjenesten.
- Order-tjenesten kaller Inventory-tjenesten.
- Inventory-tjenesten kaller Payment Gateway.
- Payment Gateway returnerer til Order-tjenesten.
- Order-tjenesten oppdaterer databasen.
Hvert trinn er en separat tjeneste. Sporing knytter disse punktene sammen.
Forklaring av spor og spenn
Kjernebegrepene i distribuert sporing er spor og spenn.
- Et spor representerer hele reisen fra ende til ende for én enkelt forespørsel eller transaksjon gjennom et distribuert system.
- Et spenn representerer én enkelt operasjon eller arbeidsenhet innenfor dette sporet. Det kan være et funksjonskall, en HTTP-forespørsel eller et databasekall.
Inne i et spenn
Hvert spenn registrerer viktige detaljer om operasjonen det representerer:
- Operasjonsnavn: Hva som skjedde (for eksempel
authenticateUser,getProductDetails). - Tidsstempler for start og slutt: Når operasjonen begynte og ble avsluttet.
- Varighet: Hvor lang tid det tok.
- Attributter (etiketter): Nøkkel-verdi-par som gir kontekst (for eksempel
http.method="GET",db.type="postgres"). - Logger/hendelser: Spesifikke hendelser som oppsto under spennet.
Koble sammen spenn med kontekst
For at en trace skal være nyttig, må spanene kobles sammen slik at foreldre-barn-relasjonene vises. Dette gjøres ved hjelp av trace context.
Når én tjeneste kaller en annen tjeneste, sender den trace context videre. Denne inneholder gjeldende trace-ID og ID-en til parent span. Dermed kan tjenesten som mottar kallet, opprette en ny child span som hører korrekt til den pågående tracen.
Unike identifikatorer: ID-er
Hver trace identifiseres av en unik Trace ID. Alle span som tilhører samme trace, deler denne ID-en.
Hver span har også sin egen unike Span ID. I tillegg har en child span en Parent Span ID som peker på spanen som opprettet den. Denne mekanismen danner en trelignende struktur som visualiserer dataflyten.
Samle inn tracedata (instrumentering)
For å samle inn tracedata må applikasjonskoden instrumenteres. Det betyr at du legger til biblioteker eller agenter som automatisk fanger opp informasjon om spaner på viktige steder, for eksempel ved HTTP-forespørsler og databasekall.
Mange rammeverk og programmeringsspråk har biblioteker som gjør instrumentering enklere. De kan ofte instrumentere vanlige operasjoner automatisk eller tilby API-er for egendefinerte spaner. Dermed kan data sendes til en tracing-backend.
Sjekk forståelsen
Hvilke av følgende påstander om komponenter i distribuert tracing er SANNE?
Oppsummering: Grunnleggende tracing
Vi har introdusert distribuert tracing som en viktig teknikk for å forstå forespørselsflyt i komplekse, distribuerte systemer. Du har lært om:
- Behovet for tracing i mikrotjenester.
- Tracer (forespørsel fra start til slutt) og spaner (enkeltoperasjoner).
- Hvordan trace context og unike ID-er kobler sammen spaner.
- Konseptet instrumentering for datainnsamling.
Deretter skal vi utforske spesifikke verktøy og standarder, som OpenTelemetry, som hjelper deg med å ta i bruk disse konseptene.
Lær deg Håndbok for feilsøking i produksjon og hendelseshåndtering med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 12
- Leksjoner
- 48
Ofte stilte spørsmål
Er leksjonen «Introduksjon til distribuert sporing» gratis?
Ja – du kan lese valgfritt 3 av leksjonene i læringsstien Håndbok for feilsøking i produksjon og hendelseshåndtering, inkludert «Introduksjon til distribuert sporing», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i Håndbok for feilsøking i produksjon og hendelseshåndtering inneholder totalt 4 leksjoner.
Hva lærer jeg i «Introduksjon til distribuert sporing»?
Forstå hvordan distribuert sporing visualiserer forespørsler som går gjennom flere tjenester, slik at forsinkelser og feil kan lokaliseres Du øver på Håndbok for feilsøking i produksjon og hendelseshåndtering med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med Håndbok for feilsøking i produksjon og hendelseshåndtering?
Ingen tidligere erfaring er nødvendig. Håndbok for feilsøking i produksjon og hendelseshåndtering på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 1 av 4.
Hvor lang tid tar leksjonen «Introduksjon til distribuert sporing»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne Håndbok for feilsøking i produksjon og hendelseshåndtering-leksjonen?
Ja. Alle Håndbok for feilsøking i produksjon og hendelseshåndtering-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- Introduksjon til distribuert sporing
- Utnyttelse av sporingsverktøy (f.eks. OpenTelemetry)
- Feilsøking av mikrotjenestearkitekturer
- Korrelering av traces, logger og metrikker