Apache Kafka: gedistribueerd berichtensysteem van de volgende generatie



Apache Kafka biedt een hoge doorvoer en schaalbare berichtensystemen, waardoor het populair is in realtime analyses. Ontdek hoe een Apache kafka-zelfstudie u kan helpen

In de wereld van vandaag data is het belangrijkste ingrediënt van internettoepassingen en omvat doorgaans het volgende:





  • Paginabezoeken en klikken
  • Gebruikersactiviteiten
  • Gebeurtenissen die overeenkomen met logins
  • Sociale netwerkactiviteiten zoals likes, shares en opmerkingen
  • Applicatiespecifieke statistieken (bijv. Logboeken, laadtijd van pagina's, prestaties enz.)

Deze gegevens kunnen worden gebruikt om analyses in realtime uit te voeren voor verschillende doeleinden, waarvan sommige zijn:

  • Het bezorgen van advertenties
  • Abnormaal gebruikersgedrag volgen
  • Zoeken op basis van relevantie weergeven
  • Aanbevelingen weergeven op basis van eerdere activiteiten

Probleem: Het verzamelen van alle gegevens is niet eenvoudig, aangezien gegevens worden gegenereerd uit verschillende bronnen in verschillende formaten



Oplossing: Een van de manieren om dit probleem op te lossen, is door een berichtensysteem te gebruiken. Berichtensystemen zorgen voor een naadloze integratie tussen gedistribueerde applicaties met behulp van berichten.

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

Apache Kafka:



Apache Kafka is een gedistribueerd berichtensysteem voor publiceren en abonneren dat oorspronkelijk werd ontwikkeld op LinkedIn en later een onderdeel werd van het Apache-project. Kafka is snel, wendbaar, schaalbaar en gedistribueerd door ontwerp.

Kafka Architectuur en Terminologie:

Onderwerp: Een stroom berichten die tot een bepaalde categorie behoort, wordt een onderwerp genoemd

Producent: Een producer kan elke toepassing zijn die berichten naar een onderwerp kan publiceren

ruby on rails website tutorial

Klant : Een consument kan elke toepassing zijn die zich op onderwerpen abonneert en de berichten gebruikt

Makelaar: Kafka-cluster is een set servers, die elk een broker worden genoemd

Kafka is schaalbaar en maakt het mogelijk om meerdere soorten clusters te maken.

java hoe je een programma beëindigt
  • Single Node Single Broker Cluster
  • Single Node Multiple Broker Cluster
  • Meerdere knooppunten Meerdere brokerclusters

Single Node Single Broker

Wat is de rol van ZooKeeper?

Elke Kafka-makelaar coördineert met andere Kafka-makelaars die ZooKeeper gebruiken. Producenten en Consumenten worden door de ZooKeeper-service geïnformeerd over de aanwezigheid van nieuwe makelaars of het uitvallen van de makelaar in het Kafka-systeem.

Single Node Meerdere makelaars

Meerdere knooppunten Meerdere makelaars

Kafka @ LinkedIn

LinkedIn Newsfeed wordt mogelijk gemaakt door Kafka

LinkedIn-aanbevelingen worden mogelijk gemaakt door Kafka

LinkedIn-meldingen worden mogelijk gemaakt door Kafka

Opmerking: Afgezien hiervan gebruikt LinkedIn Kafka voor vele andere taken, zoals logbewaking, prestatiestatistieken, zoekverbetering, onder andere.

java wacht en meld voorbeeld

Wie gebruikt Kafka nog meer?

DataSift: DataSift gebruikt Kafka als verzamelaar van monitoringgebeurtenissen en om het verbruik van datastromen door gebruikers in realtime te volgen

Wooga: Wooga gebruikt Kafka om trackinggegevens van al hun Facebook-games (gehost bij verschillende providers) op een centrale locatie te verzamelen en te verwerken

Sponscel: Spongecell gebruikt Kafka om zijn volledige analyse en monitoring van de pijplijn uit te voeren die zowel realtime als ETL-applicaties aanstuurt

Loggly: Loggly is 's werelds meest populaire cloudgebaseerde logboekbeheer. Het gebruikt Kafka voor het verzamelen van logboeken.

Vergelijkende studie: Kafka vs. ActiveMQ vs. RabbitMQ

Kafka heeft een efficiënter opslagformaat. Gemiddeld heeft elk bericht een overhead van 9 bytes in Kafka, versus 144 bytes in ActiveMQ

In zowel ActiveMQ als RabbitMQ behouden makelaars de bezorgstatus van elk bericht door naar schijf te schrijven, maar in het geval van Kafka is er geen schijfschrijven, waardoor het sneller wordt.

Met de brede acceptatie van Kafka in de productie, lijkt het een veelbelovende oplossing te zijn voor het oplossen van echte problemen. Apache Kafka-training kan u helpen uw collega's voor te blijven in een realtime analysecarrière. Ga aan de slag met een Apache Kafka-zelfstudie hier .

Heeft u een vraag voor ons? Vermeld het in het opmerkingengedeelte en we nemen contact met u op.

Gerelateerde berichten:

Wat je nodig hebt voor een carrière in Real-Time Analytics