Apache Kafka: Sistem de mesagerie distribuită de generație următoare



Apache Kafka oferă sisteme de mesagerie cu randament ridicat și scalabile, făcându-l popular în analizele în timp real. Aflați cum vă poate ajuta un tutorial Apache kafka

In lumea de astazi, datele sunt ingredientul principal de aplicații de internet și cuprinde de obicei următoarele:





  • Vizite și clicuri pe pagină
  • Activitățile utilizatorilor
  • Evenimente corespunzătoare conectărilor
  • Activități de rețea socială, cum ar fi aprecieri, distribuiri și comentarii
  • Valori specifice aplicației (de exemplu, jurnale, durata de încărcare a paginii, performanță etc.)

Acest datele pot fi utilizate pentru a rula analize în timp real servind diverse scopuri, dintre care unele sunt:

  • Difuzarea de reclame
  • Urmărirea comportamentelor anormale ale utilizatorilor
  • Afișarea căutării pe baza relevanței
  • Se afișează recomandări bazate pe activități anterioare

Problemă: Colectarea tuturor datelor nu este ușoară, deoarece datele sunt generate din diverse surse în diferite formate



Soluţie: Una dintre modalitățile de a rezolva această problemă este utilizarea unui sistem de mesagerie. Sistemele de mesagerie oferă o integrare perfectă între aplicațiile distribuite cu ajutorul mesajelor.

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

Apache Kafka:



Apache Kafka este un sistem de mesagerie de abonare la publicare distribuită care a fost dezvoltat inițial la LinkedIn și ulterior a devenit parte a proiectului Apache. Kafka este rapid, agil, scalabil și distribuit prin design.

Arhitectură și terminologie Kafka:

ridicând un număr la o putere în java

Subiect: Un flux de mesaje aparținând unei anumite categorii se numește subiect

Producător: Un producător poate fi orice aplicație care poate publica mesaje pe un subiect

Consumator: Un consumator poate fi orice aplicație care se abonează la subiecte și consumă mesajele

Agent : Clusterul Kafka este un set de servere, fiecare dintre ele fiind numit broker

Kafka este scalabil și permite crearea mai multor tipuri de clustere.

  • Cluster unic nod unic broker unic
  • Cluster de broker multiplu cu nod unic
  • Cluster multiplu de noduri multiple

Broker unic nod unic

Care este rolul ZooKeeper?

Fiecare broker Kafka se coordonează cu alți brokeri Kafka folosind ZooKeeper. Producătorii și consumatorii sunt informați de serviciul ZooKeeper cu privire la prezența unor noi brokeri sau la eșecul brokerului în sistemul Kafka.

Brokeri multipli cu nod unic

Noduri multiple Brokeri multipli

Kafka @ LinkedIn

LinkedIn Newsfeed este alimentat de Kafka

Recomandările LinkedIn sunt oferite de Kafka

Notificările LinkedIn sunt oferite de Kafka

Notă: În afară de aceasta, LinkedIn folosește Kafka pentru multe alte sarcini, cum ar fi monitorizarea jurnalelor, indicatorii de performanță, îmbunătățirea căutării, printre altele.

Cine mai folosește Kafka?

DataSift: DataSift folosește Kafka ca un colector de evenimente de monitorizare și pentru a urmări consumul utilizatorilor de fluxuri de date în timp real

Wooga: Wooga folosește Kafka pentru a agrega și prelucra date de urmărire din toate jocurile lor de pe Facebook (găzduite la diferiți furnizori) într-o locație centrală

Spongecell: Spongecell folosește Kafka pentru a rula întreaga sa analiză și monitorizare a conductelor care conduc atât aplicații ETL cât și în timp real

Loggly: Loggly este cel mai popular management al jurnalelor bazat pe cloud din lume. Folosește Kafka pentru colectarea jurnalelor.

Studiu comparativ: Kafka vs. ActiveMQ vs. RabbitMQ

java este-o relație

Kafka are un format de stocare mai eficient. În medie, fiecare mesaj are o cheltuială de 9 octeți în Kafka, comparativ cu 144 de octeți în ActiveMQ

Atât în ​​ActiveMQ, cât și în RabbitMQ, brokerii mențin starea de livrare a fiecărui mesaj scriind pe disc, dar în cazul Kafka, nu există nici o scriere pe disc, ceea ce o face mai rapidă.

Odată cu adoptarea pe scară largă a Kafka în producție, pare a fi o soluție promițătoare pentru rezolvarea problemelor din lumea reală. Instruirea Apache Kafka vă poate ajuta să vă depășiți colegii într-o carieră de analiză în timp real. Începeți cu un tutorial Apache Kafka Aici .

Ai o întrebare pentru noi? Vă rugăm să o menționați în secțiunea de comentarii și vă vom răspunde.

Postări asemănatoare:

De ce aveți nevoie pentru o carieră în analize în timp real