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:
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: