Apache Kafka: Neste generasjons distribuerte meldingssystem



Apache Kafka tilbyr høy gjennomstrømning og skalerbare meldingssystemer som gjør det populært i sanntidsanalyse. Lær hvordan en Apache kafka-opplæring kan hjelpe deg

I dagens verden, data er hovedingrediensen av internettapplikasjoner og omfatter vanligvis følgende:





  • Sidebesøk og klikk
  • Brukeraktiviteter
  • Hendelser som tilsvarer pålogginger
  • Sosiale nettverksaktiviteter som likes, delinger og kommentarer
  • Applikasjonsspesifikke beregninger (f.eks. Logger, sideinnlastingstid, ytelse osv.)

Dette data kan brukes til å kjøre analyser i sanntid serverer forskjellige formål, hvorav noen er:

  • Leverer annonser
  • Spore unormal brukeratferd
  • Viser søk basert på relevans
  • Viser anbefalinger basert på tidligere aktiviteter

Problem: Det er ikke lett å samle inn alle data da data genereres fra forskjellige kilder i forskjellige formater



Løsning: En av måtene å løse dette problemet er å bruke et meldingssystem. Meldingssystemer gir en sømløs integrasjon mellom distribuerte applikasjoner ved hjelp av meldinger.

funksjon overbelastning i c ++ eksempel

apache-kafka-next-generation-distributed-messaging-system

Apache Kafka:



Apache Kafka er et distribuert publiseringsabonnementssystem som opprinnelig ble utviklet på LinkedIn og senere ble en del av Apache-prosjektet. Kafka er rask, smidig, skalerbar og distribuert etter design.

Kafka Architecture and Terminology:

Emne : En strøm av meldinger som tilhører en bestemt kategori kalles et emne

Produsent : En produsent kan være et hvilket som helst program som kan publisere meldinger til et emne

Forbruker: En forbruker kan være et hvilket som helst program som abonnerer på emner og bruker meldinger

Megler: Kafka-klyngen er et sett med servere, som hver kalles en megler

Kafka er skalerbar og tillater oppretting av flere typer klynger.

  • Single Node Single Broker Cluster
  • Single Node Multiple Broker Cluster
  • Flere noder Flere meglerklynger

Single Node Single Broker

Hva er ZooKeeper's rolle?

Hver Kafka-megler koordinerer med andre Kafka-meglere som bruker ZooKeeper. Produsenter og forbrukere blir varslet av ZooKeeper-tjenesten om tilstedeværelsen av nye meglere eller svikt hos megleren i Kafka-systemet.

Single Node Multiple Brokers

Flere noder Flere meglere

Kafka @ LinkedIn

LinkedIn Newsfeed er drevet av Kafka

LinkedIn-anbefalinger er drevet av Kafka

LinkedIn-varsler er drevet av Kafka

Merk: Bortsett fra dette bruker LinkedIn Kafka til mange andre oppgaver som loggovervåking, ytelsesberegninger, søkeforbedring, blant andre.

Hvem andre bruker Kafka?

DataSift: DataSift bruker Kafka som samler for overvåking av hendelser og for å spore brukernes forbruk av datastrømmer i sanntid

Wooga: Wooga bruker Kafka til å samle og behandle sporingsdata fra alle sine Facebook-spill (vert hos forskjellige leverandører) på en sentral plassering

Svampecelle: Spongecell bruker Kafka til å kjøre hele analyse- og overvåkingsrørledningen som kjører både sanntids- og ETL-applikasjoner

Loggly: Loggly er verdens mest populære skybaserte loggstyring. Den bruker Kafka til loggsamling.

Sammenlignende studie: Kafka vs. ActiveMQ vs. RabbitMQ

Kafka har et mer effektivt lagringsformat. I gjennomsnitt har hver melding en overhead på 9 byte i Kafka, mot 144 byte i ActiveMQ

I både ActiveMQ og RabbitMQ opprettholder meglere leveringsstatus for hver melding ved å skrive til disk, men i tilfelle Kafka er det ingen diskskriving, og gjør det derfor raskere.

Med den brede adopsjonen av Kafka i produksjonen ser det ut til å være en lovende løsning for å løse problemer i den virkelige verden. Apache Kafka-trening kan hjelpe deg med å komme deg foran jevnaldrende i en analytisk karriere i sanntid. Kom i gang med en Apache Kafka-opplæring her .

Har du et spørsmål til oss? Vennligst nevn det i kommentarfeltet, så kommer vi tilbake til deg.

Relaterte innlegg:

Hva du trenger for en karriere i sanntidsanalyse