Κοινή χρήση τεχνολογίας

Αφαίρεση διαγράμματος βασικών συστατικών του Κάφκα

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

1. Ελεγκτής Μεσίτης

Εισαγάγετε την περιγραφή της εικόνας εδώ

Υπάρχει ένας Μεσίτης Ελεγκτή στο σύμπλεγμα Kafka, ο οποίος είναι υπεύθυνος για τη διαχείριση και τον συντονισμό μεταδεδομένων.

Ο Κάφκα χρησιμοποιεί το Zookeeper ως εργαλείο αποθήκευσης και διαχείρισης για μεταδεδομένα συμπλέγματος. Το Zookeeper αποθηκεύει τις πληροφορίες κατάστασης του συμπλέγματος, συμπεριλαμβανομένων όλων των πληροφοριών Θέμα, διαμέρισμα, Leader και αντίγραφο κ.λπ.

Όταν αλλάξει η κατάσταση του συμπλέγματος, το Controller Broker θα γράψει τις πληροφορίες αλλαγής στο Zookeeper.

Όταν το τρέχον Controller Broker αποτύχει, άλλοι Μεσίτες στο σύμπλεγμα Kafka θα εντοπίσουν αυτήν την κατάσταση και θα πραγματοποιήσουν εκλογές μέσω του Zookeeper.

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

Μηχανισμός εγγύησης

  • Μόνιμα μεταδεδομένα: Το Zookeeper αποθηκεύει επίμονα τα μεταδεδομένα του συμπλέγματος, διασφαλίζοντας ότι οι πιο πρόσφατες πληροφορίες κατάστασης μπορούν να ληφθούν ανά πάσα στιγμή.
  • μηχανισμός καρδιακού παλμού: Η σύνδεση μεταξύ Broker και Zookeeper διατηρείται μέσω του μηχανισμού καρδιακού παλμού για τον γρήγορο εντοπισμό βλαβών του Controller Broker.
  • εκλογικός μηχανισμός: Μέσω του εκλογικού μηχανισμού του Zookeeper, ένας νέος μεσίτης ελεγκτή μπορεί να εκλεγεί γρήγορα και τα μεταδεδομένα να συγχρονιστούν από το Zookeeper.

2. Αρχιτεκτονική εξαρτημάτων

Εισαγάγετε την περιγραφή της εικόνας εδώ

1. Διαχειριστής καταγραφής

LogManagerΚυρίως υπεύθυνος για τη διαχείριση της αποθήκευσης και ανάκτησης κορμών Κάφκα (κούτσουρο).

Για παράδειγμα: ο παραγωγός στέλνει το μήνυμα στον Leader Broker1 του Partition0.LogManagerΓράψτε το μήνυμα στο αρχείο καταγραφής του Partition0 στο Broker1.

2. Replication Manager

ReplicationManagerΚυρίως υπεύθυνος για τη διαχείριση της αναπαραγωγής και του συγχρονισμού των δεδομένων διαμερισμάτων.

Ο συγχρονισμός μεταξύ του Leader και του Follower κάθε διαμερίσματος εκτελείται ανεξάρτητα. Δηλαδή, κάθε διαμέρισμα έχει τη δική του διαδικασία συγχρονισμού και δεν εξαρτάται από άλλα διαμερίσματα.

Αν και η διαδικασία συγχρονισμού κάθε διαμερίσματος είναι ανεξάρτητη, κάθε Broker θα ξεκινήσει τα αντίστοιχα νήματα αναπαραγωγής για κάθε διαμέρισμα που διαχειρίζεται (είτε Leader είτε Follower) και αυτά τα νήματα είναι υπεύθυνα για το χειρισμό συγκεκριμένων εργασιών συγχρονισμού.

για παράδειγμα:ReplicationManagerΩθήστε τα πρόσφατα γραμμένα μηνύματα στο Broker1 στους ακόλουθους Broker2 και Broker3 του Partition0.ReplicationManagerΤα αιτήματα αναπαραγωγής που λαμβάνονται από το Broker1 υποβάλλονται σε επεξεργασία στο Broker2 και στο Broker3, γράφοντας μηνύματα στα αντίστοιχα αρχεία καταγραφής τους.

3. SocketServer

SocketServer Είναι ένα στοιχείο στο Kafka Broker και είναι υπεύθυνο για το χειρισμό των συνδέσεων δικτύου και των λειτουργιών I/O. Είναι υπεύθυνο για την αποδοχή αιτημάτων σύνδεσης από πελάτες και άλλους Brokers και την εκχώρηση ενός νήματος σε κάθε σύνδεση για επεξεργασία.

4. Διακομιστής δικτύου

NetworkServer Αποτελεί βασικό μέρος του πλαισίου επικοινωνίας δικτύου του Kafka και είναι υπεύθυνο για τη διαχείριση και τον προγραμματισμό αιτημάτων δικτύου. Χρησιμοποιεί NIO (non-blocking I/O) για να χειρίζεται πολύ ταυτόχρονες συνδέσεις δικτύου.

5. ZKClient

Εξάρτημα που επικοινωνεί με το Zookeeper.