Topics, partisjoner og offsets
Få tak på de viktigste Kafka-konseptene: topics for kategorisering av meldinger, partisjoner for skalerbarhet og offsets for sporing av konsumenter.
Topics, partisjoner og offsets er en gratis leksjon i Avansert Spring Boot 4: hendelsesdrevet arkitektur (Kafka) på CoddyKit. Dette er leksjon 2 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 Avansert Spring Boot 4: hendelsesdrevet arkitektur (Kafka), og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Avansert Spring Boot 4: hendelsesdrevet arkitektur (Kafka) inneholder totalt 4 leksjoner.
Kafkas viktigste byggesteiner
Velkommen! I denne leksjonen utforsker vi tre grunnleggende konsepter i Kafka: Topics, Partitions og Offsets.
Disse elementene er avgjørende for å forstå hvordan Kafka organiserer meldinger, skalerer og sikrer pålitelig behandling.
Kategorisering av meldingene Deres
Tenk på et Topic som et kategorinavn eller et feed-navn der meldinger publiseres og lagres.
Produsenter sender meldinger til bestemte topics, og konsumenter abonnerer på topics for å motta meldinger.
Du kan for eksempel ha et user-signups-topic eller et order-updates-topic.
Topics: Som en TV-kanal
Se for deg en TV-stasjon som kringkaster. Hver «kanal» (for eksempel Nyheter, Sport eller Film) er et Topic.
- Produsenter er kringkasterne som sender programmer til bestemte kanaler.
- Konsumenter er seerne som stiller inn på kanalene de foretrekker.
Meldinger i et topic er sortert og uforanderlige.
Del opp topics for skalering
For å håndtere store mengder meldinger og muliggjøre parallell behandling deler Kafka et topic inn i flere Partitions.
Hver partition er en sortert og uforanderlig sekvens av meldinger i et topic.
Når du oppretter et topic, angir du hvor mange partitions det skal ha.
Muliggjør parallell konsumering
Partitions er avgjørende for Kafkas skalerbarhet. Flere konsumenter kan lese fra ulike partitions i det samme topic-et parallelt.
Det betyr at opptil 3 konsumenter (i den samme konsumentgruppen) kan behandle meldinger samtidig hvis et topic har 3 partitions.
Ruting av meldinger til partitions
Når en produsent sender en melding til et topic, avgjør Kafka hvilken partition den skal legges i.
Dette er ofte basert på en meldingsnøkkel. Meldinger med samme nøkkel havner vanligvis i samme partition, noe som sikrer rekkefølgen for relaterte hendelser.
Hvis ingen nøkkel oppgis, fordeles meldingene vanligvis etter round-robin-prinsippet.
Spor posisjonen din
I hver partition tildeles hver melding en unik, sekvensiell ID kalt en Offset.
Offset-en fungerer som et indeksnummer for meldinger i den aktuelle partitionen.
Den starter på 0 for den første meldingen og økes for hver nye melding.
Konsumenter bruker offsets til å spore fremdrift
Konsumenter bruker offsets til å holde oversikt over hvilke meldinger de allerede har behandlet i en partition.
Når en konsumentgruppe behandler meldinger, «committer» den offset-en sin. Dette angir den siste meldingen den behandlet uten feil.
Dermed kan konsumenten fortsette fra riktig posisjon etter en omstart eller feil.
Lagre posisjonen din
Kafka håndterer som standard offset-commits automatisk og lagrer den sist behandlede offset-en for hver partition i et eget Kafka-topic (__consumer_offsets).
Denne mekanismen for å «lagre posisjonen» hindrer at allerede behandlede meldinger behandles på nytt, og sikrer pålitelig levering.
Forstå det grunnleggende i Kafka
La oss teste forståelsen din av de grunnleggende byggesteinene i Kafka.
Oppsummering av leksjonen
Godt jobbet! Du har fått tak på tre sentrale Kafka-konsepter:
- Topics: Kategorier for meldinger, omtrent som separate datafeeder.
- Partitions: Oppdelinger av et topic som muliggjør skalering og parallell konsumering.
- Offsets: Unike, sekvensielle ID-er for meldinger i en partition, som konsumenter bruker til å spore fremdrift.
Disse elementene fungerer sammen og gir Kafka robuste og skalerbare meldingsfunksjoner.
Lær deg Avansert Spring Boot 4: hendelsesdrevet arkitektur (Kafka) 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 «Topics, partisjoner og offsets» gratis?
Ja – du kan lese valgfritt 3 av leksjonene i læringsstien Avansert Spring Boot 4: hendelsesdrevet arkitektur (Kafka), inkludert «Topics, partisjoner og offsets», 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 Avansert Spring Boot 4: hendelsesdrevet arkitektur (Kafka) inneholder totalt 4 leksjoner.
Hva lærer jeg i «Topics, partisjoner og offsets»?
Få tak på de viktigste Kafka-konseptene: topics for kategorisering av meldinger, partisjoner for skalerbarhet og offsets for sporing av konsumenter. Du øver på Avansert Spring Boot 4: hendelsesdrevet arkitektur (Kafka) 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 Avansert Spring Boot 4: hendelsesdrevet arkitektur (Kafka)?
Ingen tidligere erfaring er nødvendig. Avansert Spring Boot 4: hendelsesdrevet arkitektur (Kafka) 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 2 av 4.
Hvor lang tid tar leksjonen «Topics, partisjoner og offsets»?
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 Avansert Spring Boot 4: hendelsesdrevet arkitektur (Kafka)-leksjonen?
Ja. Alle Avansert Spring Boot 4: hendelsesdrevet arkitektur (Kafka)-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
- Oversikt over Kafka-arkitekturen
- Topics, partisjoner og offsets
- Sette opp lokal Kafka med Docker
- Consumer groups og rebalansering