Apache Kafka: Next Generation Distributed Messaging System



Apache Kafka leverer høj kapacitet og skalerbare meddelelsessystemer, der gør det populært i realtidsanalyse. Lær hvordan en Apache kafka tutorial kan hjælpe dig

hvordan man bruger erstatte i java

I nutidens verden data er den vigtigste ingrediens af internetapplikationer og omfatter typisk følgende:





  • Sidebesøg og klik
  • Brugeraktiviteter
  • Begivenheder svarende til logins
  • Sociale netværksaktiviteter såsom likes, delinger og kommentarer
  • Applikationsspecifikke metrics (f.eks. Logfiler, sideindlæsningstid, ydeevne osv.)

Dette data kan bruges til at køre analyser i realtid tjener forskellige formål, hvoraf nogle er:

  • Levering af reklamer
  • Sporing af unormal brugeradfærd
  • Viser søgning baseret på relevans
  • Viser anbefalinger baseret på tidligere aktiviteter

Problem: Det er ikke let at indsamle alle data, da data genereres fra forskellige kilder i forskellige formater



Løsning: En af måderne til at løse dette problem er at bruge et messaging-system. Meddelelsessystemer giver en problemfri integration mellem distribuerede applikationer ved hjælp af meddelelser.

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

Apache Kafka:



Apache Kafka er et distribueret publicer abonnementsmeddelelsessystem, der oprindeligt blev udviklet hos LinkedIn og senere blev en del af Apache-projektet. Kafka er hurtig, smidig, skalerbar og distribueret efter design.

Kafka Architecture and Terminology:

Emne: En strøm af meddelelser, der tilhører en bestemt kategori kaldes et emne

Producent: En producent kan være en hvilken som helst applikation, der kan offentliggøre meddelelser til et emne

Forbruger: En forbruger kan være enhver applikation, der abonnerer på emner og forbruger beskederne

Mægler: Kafka-klyngen er et sæt servere, som hver kaldes en mægler

Kafka er skalerbar og tillader oprettelse af flere typer klynger.

  • Single Node Single Broker Cluster
  • Single Node Multiple Broker Cluster
  • Flere noder Flere mæglerklynger

Single Node Single Broker

Hvad er ZooKeeper's rolle?

Hver Kafka-mægler koordinerer med andre Kafka-mæglere ved hjælp af ZooKeeper. Producenter og forbrugere underrettes af ZooKeeper-tjenesten om tilstedeværelsen af ​​nye mæglere eller svigt hos mægleren i Kafka-systemet.

Single Node Multiple Brokers

længden af ​​en matrix i javascript

Flere noder Flere mæglere

Kafka @ LinkedIn

LinkedIn Newsfeed er drevet af Kafka

LinkedIn-anbefalinger er drevet af Kafka

LinkedIn-underretninger er drevet af Kafka

Bemærk: Bortset fra dette bruger LinkedIn Kafka til mange andre opgaver som logovervågning, præstationsmålinger, søgeforbedring, blandt andre.

Hvem bruger ellers Kafka?

DataSift: DataSift bruger Kafka som en samler af overvågning af begivenheder og til at spore brugernes forbrug af datastrømme i realtid

Wooga: Wooga bruger Kafka til at samle og behandle sporingsdata fra alle deres Facebook-spil (hostet hos forskellige udbydere) på en central placering

Svampecelle: Spongecell bruger Kafka til at køre hele sin analyse- og overvågningsrørledning, der kører både realtids- og ETL-applikationer

hvordan man kører atom python

Loggly: Loggly er verdens mest populære skybaserede loghåndtering. Det bruger Kafka til logsamling.

Sammenlignende undersøgelse: Kafka vs. ActiveMQ vs. RabbitMQ

Kafka har et mere effektivt lagerformat. I gennemsnit har hver meddelelse en overhead på 9 byte i Kafka mod 144 byte i ActiveMQ

I både ActiveMQ og RabbitMQ opretholder mæglere leveringstilstand for hver besked ved at skrive til disk, men i tilfælde af Kafka er der ingen diskskrivning, hvilket gør den hurtigere.

Med den brede anvendelse af Kafka i produktionen ser det ud til at være en lovende løsning til løsning af virkelige verdensproblemer. Apache Kafka-træning kan hjælpe dig med at komme foran dine jævnaldrende i en realtids analytisk karriere. Kom godt i gang med en Apache Kafka-vejledning her .

Har du et spørgsmål til os? Nævn det i kommentarfeltet, og vi vender tilbage til dig.

Relaterede indlæg:

Hvad du har brug for til en karriere inden for realtidsanalyse