item

Apache Kafka

Publisert: 11. april 2019

Apache Kafka er en strømmingsplattform som lar deg prosessere data i sanntid, noe vi i Item Consulting hjelper våre kunder med.

For noen år siden var det vanlig å samle inn data i løpet av en dag, og prosessere den over natta, for å gi organisasjonen et beslutningsgrunnlag neste dag. Men hva om neste dag kan være for sent?

I dagens samfunn er vi avhengige av å kunne prosessere og motta informasjon og data raskt. Dette har i stor grad påvirket utviklingen av dagens teknologier, og åpnet opp for at flere og flere bedrifter tar i bruk live strømming og sanntidsintegrasjoner. En sanntidsintegrasjon gir blant annet bedrifter muligheten til å tilby kundene kontinuerlig oppdatert data. 

Hos Item benytter vi ofte Apache Kafka, Apache Spark og Apache Cassandra som en del av en arkitektur for datastrømmer og for å bygge sanntidsapplikasjoner. Vi leverer blant annet en IoT løsning til en norsk produksjonsbedrift med et globalt marked. Her strømmes dataene  gjennom Kafka, prosesseres i Spark, og lagres i Cassandra. På toppen utvikler vi dashboards for analyse i bygget i Enonic XP og VueJS.

Har din bedrift behov for effektive løsninger som blant annet gir mulighet for sanntidsintegrasjoner? Ta gjerne kontakt med oss for mer informasjon om hva vi kan gjøre for din bedrift. 

Hva er Apache Kafka?

En av de mest kjente strømmingsplattformene som finnes på markedet i dag er Apache Kafka, som er en såkalt åpen kildeplattform. Apache kafka plattformen brukes til å prosessere data i sanntid, samt behandle datautvekslingen mellom systemer uten at data går tapt i prosessen. 

Apache Kafka ble i utgangspunktet bygget av LinkedIn for å blant annet behandle de enorme mengdene data som er i bevegelse i dette store nettverket. Apache Kafka gjør det mulig å samle store mengder data fra mange ulike systemer på en plattform. Dette sparer bedriften for tid, penger og ressurser, og gjør det mulig å prosessere dataene i løpet av sekunder. Nettopp derfor har Apache Kafka blitt en foretrukket plattform av bedrifter som er avhengige av å prosessere, samle, analysere og rapportere data på kort tid. 

Hva er apache kafka 1
Bilde av struktur på Kafka cluster

Noe av det som gjør Apache Kafka unik sammenlignet med andre «message brokers», er at Kafka også er en distribuert logg. New York Times bruker for eksempel Apache Kafka som et integrasjonspunkt mellom gamle «legacy» CMS-systemer og de nyere systemene som skal tilgjengelig gjøre alle nyhetartiklene skrevet for avisen gjennom 163 år. Alle de gamle systemene står som kilder til Kafka, og lager en lang strøm av data som lagres persistenet i Apache Kafka. Når et nytt system kommer online – som for eksempel en ny søkemotor – leser systemet bare hele «loggen» med data fra Kafka, og er klar til bruk, uten å måtte snakke med noen andre systemer.

Rasktflytende data 

Sanntidsintegrasjon er et begrep som omfatter integreringen av data fra forskjellige kilder og som gir en kontinuerlig oppdatert dataflyt. Eksempler på dette kan være regnskapssystemer, skytjenester eller andre applikasjonsintegreringer som får flere applikasjoner til å snakke sammen. De fleste bedrifter er avhengige av integreringer og en moderne arkitektur for datastrømming for å kunne kapitalisere alle dataene. 

Samtidig er mange bedrifter begrenset av låste datasystemer som ikke snakker sammen. Benytter bedriften flere av disse systemene kreves det enorme ressurser for å samle og eksportere dataene til andre systemer. Tradisjonelle plattformer designet for å løse disse utfordringene ble utviklet i en tid der dataene oppstod over en lengre periode. I dag derimot lever vi i et samfunn der dataene oppstår raskt, og derfor også må flyte raskt. Det var disse utfordringene LinkedIn stod ovenfor og løste med plattformen Apache Kafka. 

I dag er Apache Kafka en komplett strømmingsplattform som lar bedrifter behandle data i sanntid samt publisere og abonnere på data, noe som medfører en optimalisert dataflyt. 

Økosystemet rundt Apache Kafka

Apache Spark er en lynrask analysemotor for store datamengder, og ble opprinnelig utviklet ved universitetet Berkley i 2009. Siden utgivelsen har Apache Spark raskt blitt en av de viktigste distribuerte prosessrammene i verden. Analysemotoren har blitt tatt i bruk av et bredt spekter av bedrifter, deriblant Netflix, Yahoo og eBay.  

Apache Cassandra er et åpent databasesystem designet for å håndtere store mengder data på tvers av flere servere. Databasesystemet tilbyr robust støtte for klustre som strekker seg over flere datasentre. Apache Cassandra gir deg skalerbarhet og høy tilgjengelighet uten å gå på kompromiss med ytelsen. Slik tilbyr Cassandra muligheter som relasjonsdatabaser og andre NoSQL-databaser ganske enkelt ikke kan leve opp til.

Akka er et bibliotek for JVM, som kan distribuere jobber til såkalte «Actors», for å parallelt jobbe med dataprosessering. Item bruker Akka Streams til å behandle en kontinuerlig strøm med data fra Kafka, som enten sendes ut på en WebSocket, eller strømmes til en database. Vi strømmer også data fra databasen til en sluttbruker, noe som tillater oss å behandle store mengder data, med lite minne tilgjengelig.

Kafka streams er klientbibliotek som er et alternativ til Akka for å jobbe med datastrømmer fra AKafka.

Kontakt oss i dag

Har du behov for en IT-partner som kan utvikle løsninger tilpasset din bedrifts behov?

Item Consulting ble opprettet i 1999, og har opplevd stor suksess med fornøyde kunder og fagdyktige ansatte. I dag har vi kunder som Tine, Storebrand, Alere, Höegh Autoliners, Innovasjon Norge, og mange flere. 

Vi utfører tjenester som:

  • Datastrømming og sanntidsintegrasjon
  • Applikasjonsutvikling og forvaltning
  • Rådgivning og adopsjon av løsninger
  • Nettsteder og sosiale intranett
  • Mobilstrategi
  • Sosial og åpen samhandling

 

Kontakt oss gjerne for mer informasjon. Vi ser frem til å høre fra deg! 

 

KONTAKT OSS

Vil du kontakte oss kan du sende mail på firmapost@item.no .

Nyhetsbrev

Ønsker du å motta vårt nyhetsbrev:

Meld meg på / Meld meg av