2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Im Kafka-Cluster gibt es einen Controller Broker, der für die Metadatenverwaltung und -koordination verantwortlich ist.
Kafka verwendet Zookeeper als Speicher- und Verwaltungstool für Cluster-Metadaten. Zookeeper speichert die Statusinformationen des Clusters, einschließlich aller Themen-, Partitions-, Leader- und Replikatinformationen usw.
Wenn sich der Clusterstatus ändert, schreibt Controller Broker die Änderungsinformationen an Zookeeper.
Wenn der aktuelle Controller-Broker ausfällt, erkennen andere Broker im Kafka-Cluster diese Situation und führen Wahlen über Zookeeper durch.
Nachdem ein Broker erfolgreich als neuer Controller-Broker ausgewählt wurde, liest er die neuesten Cluster-Metadaten von Zookeeper.
LogManager
Hauptverantwortlich für die Verwaltung der Speicherung und des Abrufs von Kafka-Protokollen (Protokoll).
Beispiel: Der Produzent sendet die Nachricht an Leader Broker1 von Partition0.LogManager
Schreiben Sie die Nachricht in die Protokolldatei von Partition0 auf Broker1.
ReplicationManager
Hauptverantwortlich für die Verwaltung der Replikation und Synchronisierung von Partitionsdaten.
Die Synchronisierung zwischen Leader und Follower jeder Partition wird unabhängig durchgeführt. Das heißt, jede Partition verfügt über einen eigenen Synchronisierungsprozess und ist nicht von anderen Partitionen abhängig.
Obwohl der Synchronisierungsprozess jeder Partition unabhängig ist, startet jeder Broker entsprechende Replikationsthreads für jede von ihm verwaltete Partition (ob Leader oder Follower), und diese Threads sind für die Abwicklung spezifischer Synchronisierungsaufgaben verantwortlich.
Zum Beispiel:ReplicationManager
Schieben Sie neu geschriebene Nachrichten auf Broker1 an Follower Broker2 und Broker3 von Partition0.ReplicationManager
Von Broker1 empfangene Replikationsanforderungen werden auf Broker2 und Broker3 verarbeitet und Nachrichten in ihre jeweiligen Protokolldateien geschrieben.
SocketServer
Es ist eine Komponente im Kafka Broker und für die Abwicklung von Netzwerkverbindungen und E/A-Vorgängen verantwortlich. Es ist dafür verantwortlich, Verbindungsanfragen von Clients und anderen Brokern anzunehmen und jeder Verbindung einen Thread zur Verarbeitung zuzuweisen.
NetworkServer
Es ist ein zentraler Bestandteil des Netzwerkkommunikations-Frameworks von Kafka und für die Verwaltung und Planung von Netzwerkanforderungen verantwortlich. Es verwendet NIO (nicht blockierende E/A), um hochgradig gleichzeitige Netzwerkverbindungen zu verarbeiten.
Komponente, die mit Zookeeper kommuniziert.