Apache Kafka: Σύστημα διανομής μηνυμάτων επόμενης γενιάς



Το Apache Kafka παρέχει συστήματα υψηλής απόδοσης και επεκτάσιμα μηνύματα που το καθιστούν δημοφιλές σε αναλύσεις σε πραγματικό χρόνο. Μάθετε πώς μπορεί να σας βοηθήσει ένα σεμινάριο Apache kafka

Στον σημερινό κόσμο, Τα δεδομένα είναι το κύριο συστατικό εφαρμογών Διαδικτύου και συνήθως περιλαμβάνει τα ακόλουθα:





τρόποι δημιουργίας ενός μαθήματος στην Ιάβα
  • Επισκέψεις σελίδας και κλικ
  • Δραστηριότητες χρήστη
  • Συμβάντα που αντιστοιχούν σε συνδέσεις
  • Δραστηριότητες κοινωνικής δικτύωσης, όπως επισημάνσεις 'μου αρέσει', κοινοποιήσεις και σχόλια
  • Μετρήσεις για συγκεκριμένες εφαρμογές (π.χ. αρχεία καταγραφής, χρόνος φόρτωσης σελίδας, απόδοση κ.λπ.)

Αυτό Τα δεδομένα μπορούν να χρησιμοποιηθούν για την εκτέλεση αναλυτικών στοιχείων σε πραγματικό χρόνο εξυπηρετούν διάφορους σκοπούς, μερικοί από τους οποίους είναι:

  • Παράδοση διαφημίσεων
  • Παρακολούθηση μη φυσιολογικών συμπεριφορών χρήστη
  • Εμφάνιση αναζήτησης με βάση τη συνάφεια
  • Εμφάνιση προτάσεων βάσει προηγούμενων δραστηριοτήτων

Πρόβλημα: Η συλλογή όλων των δεδομένων δεν είναι εύκολη καθώς τα δεδομένα δημιουργούνται από διάφορες πηγές σε διαφορετικές μορφές



Λύση: Ένας από τους τρόπους επίλυσης αυτού του προβλήματος είναι να χρησιμοποιήσετε ένα σύστημα ανταλλαγής μηνυμάτων. Τα συστήματα ανταλλαγής μηνυμάτων παρέχουν μια απρόσκοπτη ενοποίηση μεταξύ κατανεμημένων εφαρμογών με τη βοήθεια μηνυμάτων.

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

Apache Kafka:



Το Apache Kafka είναι ένα σύστημα ανταλλαγής μηνυμάτων διανεμημένης εγγραφής που αναπτύχθηκε αρχικά στο LinkedIn και αργότερα έγινε μέρος του έργου Apache. Η Kafka είναι γρήγορη, ευέλικτη, επεκτάσιμη και διανέμεται βάσει σχεδιασμού.

Αρχιτεκτονική και Ορολογία Kafka:

Θέμα : Μια ροή μηνυμάτων που ανήκουν σε μια συγκεκριμένη κατηγορία ονομάζεται θέμα

Παραγωγός: Ένας παραγωγός μπορεί να είναι οποιαδήποτε εφαρμογή που μπορεί να δημοσιεύσει μηνύματα σε ένα θέμα

Καταναλωτής : Ένας καταναλωτής μπορεί να είναι οποιαδήποτε εφαρμογή που εγγράφεται σε θέματα και καταναλώνει τα μηνύματα

Μεσίτης : Το σύμπλεγμα Kafka είναι ένα σύνολο διακομιστών, καθένας από τους οποίους ονομάζεται μεσίτης

Το Kafka είναι επεκτάσιμο και επιτρέπει τη δημιουργία πολλαπλών τύπων συστάδων.

  • Σύμπλεγμα μεμονωμένου κόμβου
  • Σύμπλεγμα πολλαπλών μεσιτών ενός κόμβου
  • Πολλαπλοί κόμβοι Σύμπλεγμα πολλαπλών μεσιτών

Μεσιτικός μεμονωμένος κόμβος

Ποιος είναι ο ρόλος του ZooKeeper;

Κάθε μεσίτης της Kafka συντονίζεται με άλλους μεσίτες της Kafka χρησιμοποιώντας το ZooKeeper. Οι παραγωγοί και οι καταναλωτές ενημερώνονται από την υπηρεσία ZooKeeper σχετικά με την παρουσία νέων μεσιτών ή την αποτυχία του μεσίτη στο σύστημα Kafka.

Μεμονωμένοι κόμβοι πολλαπλοί μεσίτες

Πολλαπλοί κόμβοι Πολλαπλοί μεσίτες

Kafka @ LinkedIn

ποιοι είναι οι περιορισμοί στο sql

Το LinkedIn Newsfeed τροφοδοτείται από την Kafka

Οι προτάσεις του LinkedIn υποστηρίζονται από την Kafka

Οι ειδοποιήσεις του LinkedIn τροφοδοτούνται από την Kafka

Σημείωση: Εκτός από αυτό, το LinkedIn χρησιμοποιεί το Kafka για πολλές άλλες εργασίες, όπως παρακολούθηση καταγραφής, μετρήσεις απόδοσης, βελτίωση αναζήτησης, μεταξύ άλλων.

Ποιος άλλος χρησιμοποιεί το Kafka;

βρείτε τον μεγαλύτερο αριθμό σε έναν πίνακα java

Μετατόπιση δεδομένων: Η DataSift χρησιμοποιεί το Kafka ως συλλέκτη παρακολούθησης συμβάντων και για να παρακολουθεί την κατανάλωση ροών δεδομένων από χρήστες σε πραγματικό χρόνο

Wooga: Το Wooga χρησιμοποιεί το Kafka για να συγκεντρώσει και να επεξεργαστεί δεδομένα παρακολούθησης από όλα τα παιχνίδια του στο Facebook (που φιλοξενούνται σε διάφορους παρόχους) σε κεντρική τοποθεσία

Spongecell: Το Spongecell χρησιμοποιεί το Kafka για να εκτελεί ολόκληρο το δίκτυο ανάλυσης και παρακολούθησης, οδηγώντας τόσο σε πραγματικό χρόνο όσο και σε εφαρμογές ETL

Loggly: Το Loggly είναι η πιο δημοφιλής διαχείριση καταγραφής με βάση το cloud στον κόσμο. Χρησιμοποιεί το Kafka για τη συλλογή αρχείων καταγραφής.

Συγκριτική μελέτη: Kafka εναντίον ActiveMQ εναντίον RabbitMQ

Το Kafka έχει μια πιο αποτελεσματική μορφή αποθήκευσης. Κατά μέσο όρο, κάθε μήνυμα έχει γενικά 9 bytes στο Kafka, έναντι 144 bytes στο ActiveMQ

Τόσο στο ActiveMQ όσο και στο RabbitMQ, οι μεσίτες διατηρούν την κατάσταση παράδοσης κάθε μηνύματος γράφοντας στο δίσκο, αλλά στην περίπτωση του Kafka, δεν υπάρχει εγγραφή δίσκου, καθιστώντας το πιο γρήγορο.

Με την ευρεία υιοθέτηση του Kafka στην παραγωγή, φαίνεται να είναι μια πολλά υποσχόμενη λύση για την επίλυση πραγματικών προβλημάτων. Η εκπαίδευση Apache Kafka μπορεί να σας βοηθήσει να ξεπεράσετε τους συνομηλίκους σας σε μια καριέρα αναλυτικών στοιχείων σε πραγματικό χρόνο. Ξεκινήστε με ένα σεμινάριο Apache Kafka εδώ .

Έχετε μια ερώτηση για εμάς; Παρακαλώ αναφέρετέ το στην ενότητα σχολίων και θα επικοινωνήσουμε μαζί σας.

Σχετικές αναρτήσεις:

Τι χρειάζεστε για μια καριέρα στο Real-Time Analytics