I dagens värld, data är huvudingrediensen av internetapplikationer och omfattar vanligtvis följande:
- Sidbesök och klick
- Användaraktiviteter
- Händelser som motsvarar inloggningar
- Sociala nätverksaktiviteter som gillanden, delningar och kommentarer
- Applikationsspecifika mätvärden (t.ex. loggar, sidladdningstid, prestanda etc.)
Detta data kan användas för att köra analyser i realtid tjänar olika syften, varav några är:
- Leverera annonser
- Spåra onormala användarbeteenden
- Visar sökning baserat på relevans
- Visar rekommendationer baserat på tidigare aktiviteter
Problem: Det är inte lätt att samla in all information eftersom data genereras från olika källor i olika format
Lösning: Ett av sätten att lösa detta problem är att använda ett meddelandesystem. Meddelandesystem ger en sömlös integration mellan distribuerade applikationer med hjälp av meddelanden.
Apache Kafka:
Apache Kafka är ett distribuerat publiceringsmeddelandesystem som ursprungligen utvecklades på LinkedIn och senare blev en del av Apache-projektet. Kafka är snabb, smidig, skalbar och distribuerad efter design.
Kafka Architecture and Terminology:
Ämne: En ström av meddelanden som tillhör en viss kategori kallas ett ämne
Producent: En producent kan vara vilken applikation som helst som kan publicera meddelanden till ett ämne
Konsument: En konsument kan vara vilken applikation som helst som prenumererar på ämnen och konsumerar meddelandena
Mäklare : Kafka-kluster är en uppsättning servrar som alla kallas en mäklare
Kafka är skalbar och möjliggör skapande av flera typer av kluster.
hur man konverterar ett tal till binärt i python
- Single Node Single Broker Cluster
- Single Node Multiple Broker Cluster
- Flera noder Multipla mäklarkluster
Single Node Single Broker
Vilken roll har ZooKeeper?
Varje Kafka-mäklare samordnar med andra Kafka-mäklare som använder ZooKeeper. Producenter och konsumenter meddelas av ZooKeeper-tjänsten om närvaron av nya mäklare eller misslyckande hos mäklaren i Kafka-systemet.
Single Node Multiple Brokers
Flera noder Flera mäklare
Kafka @ LinkedIn
LinkedIn Newsfeed drivs av Kafka
vad är begränsningar i sql
LinkedIn-rekommendationer drivs av Kafka
LinkedIn-aviseringar drivs av Kafka
Notera: Bortsett från detta använder LinkedIn Kafka för många andra uppgifter som loggövervakning, prestandamätvärden, sökförbättring, bland andra.
Vem använder Kafka annars?
DataSift: DataSift använder Kafka som samlare av övervakningshändelser och för att spåra användarnas konsumtion av dataströmmar i realtid
Wooga: Wooga använder Kafka för att samla och bearbeta spårningsdata från alla deras Facebook-spel (värd hos olika leverantörer) på en central plats
Svampcell: Spongecell använder Kafka för att köra hela sin analys- och övervakningspipeline som driver både realtids- och ETL-applikationer
Loggly: Loggly är världens mest populära molnbaserade logghantering. Den använder Kafka för loggsamling.
Jämförande studie: Kafka vs. ActiveMQ vs. RabbitMQ
Kafka har ett mer effektivt lagringsformat. I genomsnitt har varje meddelande en overhead på 9 byte i Kafka, jämfört med 144 byte i ActiveMQ
I både ActiveMQ och RabbitMQ upprätthåller mäklare leveransstatus för varje meddelande genom att skriva till disk men i fallet med Kafka finns det ingen diskskrivning, vilket gör det snabbare.
Med den breda antagandet av Kafka i produktionen ser det ut att vara en lovande lösning för att lösa verkliga världsproblem. Apache Kafka-utbildning kan hjälpa dig att komma före dina kamrater i en analytisk karriär i realtid. Kom igång med en Apache Kafka-handledning här .
Har du en fråga till oss? Vänligen nämna det i kommentarfältet så återkommer vi till dig.
Relaterade inlägg: