Kafka er en open-source ‘distribuert streaming plattform’, ofte brukt som en meldingsbuss med stor trafikk og lav forsinkelse. Kafka kan bli brukt som en erstatter for vanlige meldings-busser, men har funksjonalitet som gjør at det kan brukes som en database eller en datastrøm.

Brukt som en vanlig meldingsbuss så er kafka en svært robust og effektiv måte å håndtere meldinger. Man kan sikre exactly-once-delivery og man kan re-prosessere meldinger ved behov.

Kafka-Streams lar deg se på ‘vinduer’ av data i datastrømmen og gjøre avanserte aggregeringer basert på data i et løpende tidsvindu i sanntid. Denne funksjonaliteten blir gjerne dratt frem som en av de kule tingene i kafka, men det har vist seg svært vanskelig å bruke på en robust måte.

Systemer med behov for å prosessere store mengder av sanntids-informasjon fra flere data-kilder er typiske systemer som vil bruke kafka.

Våre anbefalinger

The Log: What every software engineer should know about real-time data's unifying abstraction
Anbefalt av Frode og Eivind

Meget inspirerende bloggpost av Jay Kreps, mannen bak Kafka hos LinkedIn, om hvordan en replikert, append-only log kan brukes til integrasjon og asynkron meldingsutveksling med høy throughput og lav latency.

I will say this only once
Anbefalt av Odin

Exactly once-semantikk er nyttige greier, men det er utrolig vanskelig å implementere riktig. Her er hvordan Kafka gjør det.

Vår fri programvare

Våre blogginnlegg

La applikasjonen din overleve et Kafka-krasj
Av Nils

Du kan sikre deg mot å miste kritiske meldinger når kafka er nede ved å bruke “store-and-forward” i de applikasjonene dine som produserer meldinger til kafka.