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