Das Apache Kafka und Kafka Connect Framework¶
Unter diesem Thema werden die grundlegenden Konzepte von Apache Kafka und des Kafka Connect Framework beschrieben.
Die Apache Kafka-Software verwendet ein Veröffentlichen/Abonnieren-Modell für das Schreiben und Lesen von Datenströmen, ähnlich einer Nachrichtenwarteschlange oder einem Enterprise-Messaging-System. Mit Kafka können Prozesse Nachrichten asynchron lesen und schreiben. Ein Abonnent muss nicht direkt mit einem Herausgeber verbunden sein. Ein Herausgeber kann eine Nachricht in Kafka in eine Warteschlange stellen, damit der Abonnent sie später empfangen kann.
Eine Anwendung veröffentlicht Nachrichten zu einem Thema, und eine Anwendung abonniert ein Thema, um die entsprechenden Nachrichten zu empfangen.
Kafka Connect ist ein Framework zum Verbinden von Kafka mit externen Systemen, einschließlich Datenbanken. Ein Kafka Connect-Cluster ist ein vom Kafka-Cluster getrennter Cluster. Der Kafka Connect-Cluster unterstützt das Ausführen und das horizontale Skalieren von Konnektoren (Komponenten, die das Lesen und/oder Schreiben zwischen externen Systemen unterstützen).
Kafka Connect kann mit zwei Arten von Konnektoren verwendet werden:
Quellkonnektoren: Importieren von Daten aus externen Systemen in Kafka-Topics.
Sink-Konnektoren: Exportieren von Daten aus Kafka-Topics in externe Systeme.
Der High-Performance-Snowflake-Konnektor für Kafka ist ein Sink-Konnektor, der Daten aus Kafka-Topics liest und in Snowflake-Tabellen lädt.
Kafka Connect dient den folgenden häufigen betrieblichen Aspekten:
Skalierbarkeit: Kafka Connect kann eine horizontale Skalierung durchführen, indem dem Cluster weitere Workerknoten hinzugefügt werden.
Fehlertoleranz: Wenn ein Workerknoten ausfällt, verteilt Kafka Connect die Arbeit automatisch auf andere verfügbare Knoten.
Offset-Verwaltung: Kafka Connect verfolgt, welche Datensätze verarbeitet wurden, um sicherzustellen, dass im Falle von Fehlern Daten nicht verloren gehen oder dupliziert werden.
Konfigurationsverwaltung: Konnektoren können über eine REST API konfiguriert und verwaltet werden, was die Bereitstellung und Überwachung von Datenpipelines vereinfacht.