Event-Streaming: Confluent schlieĂźt die Metamorphose ab
Mit dem Projekt Metamorphosis stellen die ursprĂĽnglichen Kafka-Entwickler eine komplette Plattform fĂĽr Event-Streaming in der Confluent Cloud bereit.
Nach Erreichen der Stufe "Complete" erklärt Confluent sein im Mai 2020 begonnenes Projekt Metamorphosis für vollendet. Die auf dem Open-Source-Projekt Apache Kafka basierende und für den Unternehmenseinsatz konzipierte Confluent-Plattform sowie der kommerzielle Dienst Confluent Cloud werden damit zur Cloud-nativen Plattform für unternehmensweites Event-Streaming. Im Zuge des achtstufigen Ausbaus hatte das Team im Sommer unter anderen eine auf Kafka aufsetzende unbegrenzte und automatisch verwaltete Speicherung (Infinite Storage) für Confluent Cloud eingeführt und mit Cloud Linking eine Möglichkeit geschaffen, Kafka-Cluster auf der Cloud-Plattform virtuell zusammenzufassen.
Ăśber Konnektoren zur zentralen Plattform
Über verwaltete Konnektoren (Kafka Connectors) lassen sich zudem Events aus den unterschiedlichsten Cloud-, On-Premises- und Hybrid-Umgebungen integrieren. Der Confluent Hub stellt dafür über 120 vorkonfigurierte Konnektoren zur Verfügung – darunter auch kürzlich veröffentlichte wie PostgreSQL Source (JDBC), MySQL Source (JDBC), Snowflake Sink, Amazon Redshift Sink, Oracle Database Source (JDBC), Microsoft SQL Server Source (JDBC), Google Cloud Spanner Sink, Azure Data Lake Storage Gen2 Sink und Elasticsearch Service Sink.
FĂĽr Unternehmen, die auch Daten aus Legacy-Systemen mit Oracle-Datenbanken einbinden wollen, kĂĽndigt Confluent zudem einen neuen Source-Connector als Preview an: Oracle CDC (Change Data Capture). Der Konnektor soll einerseits eine Datenbankmigration erleichtern, aber vor allem auch sicherstellen, dass Anwendungen in Echtzeit ĂĽber Ă„nderungen in der Oracle-DB informiert werden. Im Hinblick auf Serverless-Anwendungen stehen Confluent-Cloud-Nutzern drei weitere neue Konnektoren als Preview zur VerfĂĽgung: Azure Functions Sink, Google Cloud Functions Sink und AWS Lambda Sink stellen als verwaltete Dienste den Datenfluss in und aus der Kafka-Plattform sicher.
Datenaufbereitung mit ksqlDB und SQL
Um die Confluent-Plattform und Confluent Cloud auch für eine umfassende Datenaufbereitung zu rüsten, erhalten Nutzer Zugriff auf die Event-Streaming-Datenbank ksqlDB, die speziell auf die Stream-Verarbeitung ausgelegt ist. Im Unterschied zu Kafka Streams (und dessen in Apache Kafka integrierter Library) erfordert ksqlDB keinen Programmieraufwand in Java oder Scala, sondern lässt sich mit SQL-Syntax steuern. Um beispielsweise eine mit Kundendaten bestückte PostgreSQL-Datenbank mit Kafka zu verbinden, genügen die folgenden Zeilen in SQL-Syntax:
CREATE SOURCE CONNECTOR jdbc_source WITH (
'connector.class' = 'io.confluent.connect.jdbc.JdbcSourceConnector',
'connection.url' = 'jdbc:postgresql://postgres:5432/postgres',
'connection.user' = 'postgres',
'connection.password' = 'mySecret',
'topic.prefix' = 'jdbc_',
'table.whitelist' = 'customer_profiles', ...);
Die Tabelle "customer_profiles" und alle darin vorgenommenen Ă„nderungen werden danach in Echtzeit als Event Stream an Kafka ĂĽbergeben. Dabei verspricht ksqlDB laut Confluent-CTO Michael Noll die gleiche Fehlertoleranz und die gleichen Exactly-Once-Garantien wie Kafka.
Weitergehende Informationen zur komplettierten Event-Streaming-Plattform fasst der Blogbeitrag von Michael Noll zusammen. Einen Ăśberblick des Projekts Metamorphosis bietet die Confluent-Homepage.
(map)