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