Apache Kafka er navnet på en kø-server, som har stor opmærksomhed for tiden. Enhver it-konference med respekt for sig selv har kø-systemet på programmet og udviklerblogs flyder over med indlæg om systemet.
Det problem, som Kafka løser er, når en stor mængde delsystemer skal kommunikere med hinanden. I stedet for at de enkelte delsystemer smider meddelelser rundt med løs hånd, fungerer Kafka som et slags transportbånd, der opfanger og videresender meddelelser rundt fra og til systemets komponenter.
Kafka opdeler meddelelserne i 'topics', som køens abonnenter skriver sig op til at modtage.
Man kan hælde hundredvis af terabyte data i røret og foretage millionvis af forespørgsler per sekund.
Apache Kafka er udviklet af det sociale netværk LinkedIn, men blev i 2011 sat i verden som open source i Apache-organisationens regi.
Systemet er populært i enterprise-verdenen, men giver også god mening for små startups.
Godt til mikrotjenester
Bjarne Ørum Fruergaard er nyslået it-chef i firmaet Relink, som benytter maskinlæring til at finde match mellem jobsøgere og stillingsopslag.
Relink benytter mikrotjenester som arkitektur, hvor delene i systemets logik er splittet i mindre komponenter, som hvert har et isoleret ansvar, eller 'seperation of concerns' som det kaldes i engelsk it-lingo.
I den sammenhæng hjælper Kafka med kommunikationen mellem tjenesterne. Producenter skriver til topics i Kafka og andre komponenter i stakken læser så fra samme topics.
»I bund og grund sælger vi API’er. Vi kan logge når kunderne bruger vores API. Én tjeneste kan kigge på topics i Kafka, skrive i en log og gemme oplysninger i et datawarehouse. En anden tjeneste kan så tage sig af at svare på forespørgslen fra kunden via API’et,« fortæller Bjarne Ørum Fruergaard.
Det betyder komponenters arbejdsområder kan adskilles og afkobles, uden at have direkte kommunikation mellem komponenterne.
Baggrunden for Relinks valg af Kafka er blandt andet, at produktet er open source samt at der er en stor skare af virksomheder, som benytter produktet og bidrager til at gøre det bedre.
Det er også vigtigt at kunne kigge i kildekoden, hvis tingene ikke fungerer som de skal. Licensomkostninger har også betydning, når man arbejder i en startup, siger Bjarne Ørum Fruergaard.
Der er mange andre kø-systemer end Kafka, både kommercielle og open source, men én af de ting som Relink sætter pris på, er dets evne til at håndtere 'backpressure.'
»Hvis vi har ting, der fejler eller belastning, som vi har svært at følge med, så bliver det pænt håndteret i Kafka.«
Det er blandt andet systemet evne til at garantere at en meddelelse modtages præcist én gang, der er en fordel i Relinks systemer. Firmaet benytter Apache Spark, som er et produkt til distribueret processering, der understøtter maskinlæring i stor skala.
Den indbyggede integration mellem Spark og Kafka, hvor en strøm af data kan sendes fra det ene system til det andet, er en stor fordel.
Hurtigere end Hadoop
Kasper Sørensen arbejder for Satori Software, som skaber systemer til datavask i den store stil. Det handler om at rette navne og adresser på automatisk vis. Her er Kafka er centralt i firmaets sky-arkitektur. Det er kø-systemets gode ydelse og evne til at skalere, som gør det attraktivt for firmaet.
»I enterprise-udvikling har du komponenter, der skal reagere på beskeder om hændelser fra forskellige kilder, men de skal samtidig kunne planlægge deres arbejde og først reagere når der er ressourcer tilgængeligt til at behandle beskeden.«
Kasper Sørensen er også med-styrmand på et andet Apache-projekt, Metamodel, og har derfor lagt mærke til Kafkas stigende popularitet.
»Det er helt tydeligt at Kafka har stor opmærksomhed, ligesom f.eks. Hadoop tidligere har haft. Hadoop er skalerbart, men ikke nødvendigvis hurtigt. Der er meget snak om big data, som Hadoop adresserede, og Kafka adresserer ‘fast data’, som er det nødvendige modsvar. «

...men det er dyrt at lave god journalistik. Derfor beder vi dig overveje at tegne abonnement på Version2.
Digitaliseringen buldrer derudaf, og it-folkene tegner fremtidens Danmark. Derfor er det vigtigere end nogensinde med et kvalificeret bud på, hvordan it bedst kan være med til at udvikle det danske samfund og erhvervsliv.
Og der har aldrig været mere akut brug for en kritisk vagthund, der råber op, når der tages forkerte it-beslutninger.
Den rolle har Version2 indtaget siden 2006 - og det bliver vi ved med.