Apache Kafka: Nästa generations distribuerade meddelandesystem



Apache Kafka tillhandahåller hög kapacitet och skalbara meddelandesystem som gör det populärt i realtidsanalys. Lär dig hur en Apache kafka-handledning kan hjälpa dig

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-next-generation-distributed-messaging-system

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:

Vad du behöver för en karriär inom realtidsanalys