Managed Service for Apache Kafka ist ein Google Cloud Dienst, mit dem Sie sichere, skalierbare Open-Source-Apache Kafka-Cluster ausführen können. Auf dieser Seite finden Sie eine Übersicht darüber, was der Dienst für Sie automatisiert und vereinfacht. Weitere Informationen zu Apache Kafka finden Sie auf der Apache Kafka Website.
Einfache Größenanpassung und Skalierung
Wenn Sie einen Managed Service for Apache Kafka-Cluster erstellen, geben Sie die Gesamtzahl der vCPUs und den Arbeitsspeicher für den Cluster an. Der Dienst stellt automatisch eine Anzahl von Brokern basierend auf der Anzahl der vCPUs bereit.
Um den Anforderungen der Clients gerecht zu werden, können Sie die Ressourcennutzung beobachten und bei Bedarf Ihren Cluster skalieren, indem Sie die Anzahl der vCPUs und den Arbeitsspeicher aktualisieren. Durch das Hochskalieren eines Clusters werden möglicherweise zusätzliche Broker bereitgestellt. Wenn für die Erhöhung der Clustergröße ein neuer Broker erforderlich ist, kann der Dienst Partitionen automatisch auf die Broker verteilen.
Informationen zur Auswahl einer Clustergröße finden Sie unter Größe Ihres Kafka-Clusters planen.
Speicherverwaltung
Managed Service for Apache Kafka uses mehrstufigen Speicher. Mehrstufiger Speicher kombiniert zwei Speicherebenen:
- Eine begrenzte Menge an schnellem lokalem Speicher in Form von vorab bereitgestellten Laufwerken, die an die Broker angehängt sind.
- Praktisch unbegrenzter Remote-Speicher. Remote-Speicher ist kostengünstiger und muss nicht vorab bereitgestellt werden.
Mit dem mehrstufigen Speichersystem können Sie große Datenmengen speichern, ohne dass der Speicherplatz auf dem Laufwerk ausgeht. Es kann auch kostengünstiger sein als die alleinige Verwendung von lokalem Speicher.
Sie sind dafür verantwortlich, die Aufbewahrungszeit für einzelne Themen festzulegen, um die Kosten zu kontrollieren oder Ihre Richtlinien zur Datenaufbewahrung einzuhalten.
Flexibles Netzwerk
Der Dienst macht einen Cluster sicher von jeder VPC aus zugänglich. Dazu gehört der Zugriff von mehreren VPCs, Projekten und Regionen aus.
Um das Netzwerk für einen Cluster zu konfigurieren, geben Sie die Subnetze an, in denen der Cluster zugänglich ist. Der Dienst stellt in jedem Subnetz private IP-Adressen für die Bootstrap-Server und Broker bereit. Außerdem wird privates Cloud DNS mit URLs für jede IP-Adresse eingerichtet. Die Bootstrap-Server haben einen Load-Balancer, sodass es pro Cluster eine einzige Bootstrap-URL gibt. Die URLs sind in allen VPCs gleich, sodass Clientkonfigurationen in allen Umgebungen einheitlich sein können.
Diese Flexibilität wird durch Private Service Connect (PSC) erreicht. Für jede für einen Cluster zugewiesene IP-Adresse ist ein PSC-Endpunkt erforderlich. Die Endpunkte werden automatisch bereitgestellt.
Cluster sichern
Der Dienst bietet die folgenden Funktionen für die Sicherheit der Cluster: Authentifizierung, Autorisierung, Verschlüsselung, Patchen und Ressourcenisolation. Außerdem werden nicht authentifizierte und unverschlüsselte Verbindungen und Speicher nicht zugelassen.
Authentifizierung
Der Dienst unterstützt zwei Authentifizierungsmethoden: Simple Authentication and Security Layer (SASL) und gegenseitiges TLS (mTLS). Die mTLS-Authentifizierung ist für Cluster verfügbar, die nach dem 24. Juni 2025 erstellt wurden. Alle Verbindungen zu verwalteten Clustern werden mit einem Principal authentifiziert, der eine IAM-Identität mit SASL oder ein Clientzertifikat mit mTLS ist. Bei Verwendung von SASL werden Nutzerkonten, Dienstkonten und Konten mit Föderation als Principals unterstützt.
Der Dienst unterstützt keine anderen Protokolle, einschließlich SASL/GSSAPI, SASL/SCRAM-SHA-256 und SASL/SCRAM-SHA-512. Außerdem sind nicht authentifizierte Verbindungen nicht zulässig.
Autorisierung
Der Dienst verwendet einen mehrschichtigen Ansatz für die Autorisierung. IAM steuert Clusterverwaltungsaktionen wie das Erstellen, Aktualisieren und Löschen von Ressourcen. Die Autorisierung für authentifizierte Principals hängt von der verwendeten Methode ab:
SASL: Principals, die IAM verwenden, werden über Google Cloud IAM-Rollenbindungen oder mit Kafka-ACLs auf dem Cluster autorisiert. Weitere Informationen finden Sie unter SASL-Authentifizierung konfigurieren.
mTLS: Principals, die sich mit mTLS authentifizieren, werden über Kafka ACLs autorisiert. Weitere Informationen finden Sie unter mTLS-Authentifizierung konfigurieren.
Sie können Kafka-ACLs mit den Google Cloud Tools oder Kafka-Tools von Drittanbietern verwalten. Weitere Informationen zum Konfigurieren von IAM- und Kafka-ACLs finden Sie unter Zugriffssteuerung mit IAM und Kafka-ACLs.
Verschlüsselung
Die Verschlüsselung ist erforderlich. Alle Verbindungen zu Clustern müssen TLS verwenden. Die von den Brokern präsentierten TLS-Zertifikate werden von der Public Certificate Authority signiert. Gespeicherte Daten werden immer verschlüsselt. Wählen Sie aus, ob Sie von Google verwaltete oder vom Kunden verwaltete Verschlüsselungsschlüssel (CMEK) für die Verschlüsselung ruhender Daten verwenden möchten.
Patchen
Das Dienstteam verfolgt Sicherheitslücken, die im Open-Source-Code entdeckt wurden. Wenn der Dienst Sicherheitslücken erkennt, werden Ihre Cluster automatisch gepatcht.
Ressourcenisolation
Eine weitere Sicherheitsfunktion des Dienstes ist die Ressourcenisolation. Der verwaltete Dienst stellt Cluster in Mandantenprojekten in einer privaten VPC bereit, auf die nicht über öffentliche IP-Adressen zugegriffen werden kann. Jedes Ihrer Projekte hat ein eigenes Mandantenprojekt mit einem eigenen Dienst-Agenten konto. Dadurch wird der Umfang des Zugriffs, der dem Dienst gewährt wird, begrenzt.
Schema-Registry
Um die Koordination zwischen Produzenten und Nutzern zu vereinfachen, enthält Managed Service for Apache Kafka eine Schema-Registry-API. Eine vom Dienst bereitgestellte Registry dient als Repository für Schemas, die von Anwendungen gemeinsam genutzt werden.
Der Dienst implementiert die Confluent Schema Registry REST API , die die Integration in vorhandene Kafka-Anwendungen erleichtert. Die Schemaformate Apache Avro und Protocol Buffer (Protobuf) werden unterstützt. JSON wird nicht unterstützt.
Managed Service for Apache Kafka bietet außerdem eine Verwaltungs-API und ein Toolset zum Verwalten von Schema-Registries und Schemas. Das Toolset umfasst die Google Cloud Konsole, die gcloud CLI und Clientbibliotheken.
Weitere Informationen zur Schema-Registry finden Sie in der Übersicht zur Schema-Registry.
Datenintegration mit Kafka Connect
Managed Service for Apache Kafka vereinfacht die Datenintegration über Kafka Connect. Kafka Connect bietet mehrere integrierte Connector-Plug‑ins, die in Connect-Clustern gehostet werden. Diese Connectors werden für Migration, Sicherung, Notfallwiederherstellung, Hochverfügbarkeit und Datenintegration verwendet. Mit diesen Connectors können Sie Ihre Managed Service for Apache Kafka-Cluster mit verschiedenen Systemen verbinden, einschließlich anderer Kafka-Bereitstellungen und Google Cloud Diensten wie BigQuery, Cloud Storage und Pub/Sub. Kafka Connect bietet eine skalierbare, zuverlässige Datenintegration mit geringerem Betriebsaufwand sowie integriertem Monitoring und Logging.
Weitere Informationen zu Kafka Connect finden Sie in der Übersicht zu Kafka Connect.
Cluster mit Hochverfügbarkeit
Ziel des Dienstes ist es, regionale Cluster für geschäftskritische Anwendungen bereitzustellen. Insbesondere schützt der Dienst Sie vor Ausfällen einzelner Zonen oder Broker.
Dazu werden alle Cluster in einer rackfähigen Konfiguration mit drei Zonen bereitgestellt. Für die Standardkonfiguration des Themas sind mindestens drei Replikate erforderlich. Durch die Rack-Awareness wird sichergestellt, dass Replikate in verschiedenen Zonen erstellt werden. Die standardmäßige Mindestanzahl synchroner Replikate beträgt zwei. Das bedeutet, dass Ihr Cluster den vollständigen Verlust einer Zone oder eines Brokers tolerieren kann.
Wenn ein Broker aufgrund eines Software-, Hardware- oder Netzwerkausfalls ausfällt, wird er automatisch ersetzt. Wenn der Dienst einen Broker-Ausfall erkennt, wird er automatisch neu gestartet, bei Bedarf auf einem anderen Computer. Nachdem der Broker verfügbar ist, integriert Apache Kafka ihn in den Cluster. Bei einem vollständigen Zonenausfall ist es möglicherweise nicht möglich, einen neuen Broker zu erstellen. Der Cluster wird jedoch weiter betrieben, solange die anderen beiden Zonen verfügbar bleiben.
Zusätzlich zu diesen spezifischen Funktionen wird die Integrität des Dienstes, des Apache Kafka-Codes und der Updates proaktiv durch eine wachsende Liste interner Tools und Prozesse gewartet. Sicherungen von Daten und Metadaten werden auf mehreren Ebenen verwaltet, sodass der Dienst viele menschliche Fehler und Softwareausfälle beheben kann.
Der Dienst bietet keinen Schutz vor regionalen oder Dual-Zone-Ausfällen. Für Anwendungen, die dieses Schutzniveau erfordern, empfehlen wir, zwei separate regionale Cluster auszuführen. Sie können die Daten zwischen zwei Clustern mit Tools wie MirrorMaker 2.0 von Kafka Connect synchronisieren.
Tools für Ihren Verwaltungsstil
Der Dienst bietet eine vollständige Reihe von Tools für Ihren Stil der Clusterverwaltung und Fehlerbehebung. Dazu gehören Tools für Verwaltung, Monitoring und Logging.
Managed Service for Apache Kafka wird als Google Cloud-API bereitgestellt. Das bedeutet, dass Sie Cluster und Clusterressourcen mit REST- und gRPC-APIs verwalten können. Für diese APIs werden mehrere Clients und Schnittstellen bereitgestellt, darunter:
- Terraform-Anbieter, wenn Sie den Infrastructure-as-Code-Ansatz bevorzugen.
- UI in Google Cloud derKonsole für die interaktive Arbeit in einem Browser.
- Die gcloud CLI für die interaktive Arbeit in einer Shell.
- Clientbibliotheken in Java, Python, Go und anderen Sprachen für die benutzerdefinierte Entwicklung und das Scripting.
Für Monitoring und Fehlerbehebung exportiert der Dienst Messwerte nach Cloud Monitoring. Einige der Messwerte sind in der Dienst-UI verfügbar. Eine vollständige Reihe ist in Cloud Monitoring für die interaktive Arbeit, das Konfigurieren von Benachrichtigungen und den Export in andere Systeme verfügbar.
Der Dienst exportiert außerdem Broker-Logs nach Cloud Logging. Diese sind durchsuchbar und können verwendet werden, um logbasierte Messwerte und Benachrichtigungen zu erstellen.
Upgrades und Patches
Managed Service for Apache Kafka-Cluster werden mit Apache Kafka Version 3.7.1 ausgeführt. Der Dienst patcht automatisch kritische Sicherheitslücken.
Updates der zugrunde liegenden Infrastruktur, einschließlich des Betriebssystems und der Orchestrierungsebenen, erfolgen kontinuierlich und automatisch. Broker werden mit einem Rolling Restart aktualisiert, ohne dass es zu Ausfallzeiten für den Cluster kommt.
Der Dienst führt kein automatisches Upgrade des auf den Brokern ausgeführten Apache Kafka-Codes auf neue Nebenversionen durch.
Transparente Kosten
Das Preismodell für Managed Service for Apache Kafka ähnelt den Gebühren, die anfallen wenn Sie Apache Kafka selbst auf Compute Engine ausführen. Sie zahlen für die Ressourcen, die Sie bereitstellen (vCPU, RAM und lokaler Speicher), und die Sie verbrauchen (nichtflüchtiger Speicher und Datenübertragung). Nichtflüchtiger Speicher und vCPU kosten mit Managed Service for Apache Kafka mehr als wenn Sie ein ähnliches System selbst einrichten. Im Gegensatz dazu sind die Preise für Datenübertragung und lokalen Speicher zwischen Managed Service for Apache Kafka und selbstverwaltetem Kafka ähnlich. Weitere Informationen zu den Preisen finden Sie unter Preise für Managed Service for Apache Kafka.
Kompatibel, weil wir Apache Kafka ausführen
Managed Service for Apache Kafka führt dieselbe Open-Source-Software aus, die Sie möglicherweise bereits in Ihrer Umgebung ausführen. Sie müssen den Anwendungscode nicht ändern, um ihn zum Dienst zu migrieren.
Beschränkungen
Für Managed Service for Apache Kafka gelten die folgenden Beschränkungen:
Jeder Cluster muss in jeder der drei Zonen über die gleichen Ressourcen verfügen. Managed Service for Apache Kafka-Cluster mit einer oder zwei Zonen werden nicht unterstützt.
Sie können die Zonen beim Erstellen des Clusters nicht auswählen.
Sie können das Volumen des lokalen Speichers in einem Cluster nicht konfigurieren.
Managed Service for Apache Kafka wird im KRaft-Modus ausgeführt. Der Zookeeper-Modus wird nicht unterstützt.
JMX-APIs für Messwerte werden nicht unterstützt.
Sie können die Brokerkonfigurationen zwar jederzeit mit dem Update-Modus
read-onlyändern, diese Änderungen werden jedoch erst wirksam, wenn die Broker neu gestartet werden. Neustarts erfolgen regelmäßig im Rahmen der Wartungs- und Upgradeprozesse von Google, es gibt jedoch keinen festen Zeitplan oder eine Möglichkeit, sie manuell auszulösen. Daher können Sie nicht steuern, wann diese Änderungen wirksam werden. Beispiele fürread-only-Konfigurationen sindauto.create.topics.enableundbackground.threads. Updates von Konfigurationen mit dem Update-Moduscluster-wide, z. B.message.max.bytes, erfordern keine Neustarts und werden sofort wirksam.Einige Konfigurationsparameter für Broker werden vom Dienst verwaltet und können nicht aktualisiert werden. Dazu gehören
broker.idund speicherbezogene Einstellungen wieremote.log.storage.system.enable.
Nächste Schritte
- Managed Service for Apache Kafka-Cluster erstellen.
- Nachrichten mit einem Managed Service for Apache Kafka-Cluster senden und empfangen.
- Synthetische Daten für einen Managed Service for Apache Kafka-Cluster generieren.
- Beschränkungen von Managed Service for Apache Kafka ansehen.
- Informationen zu den Preisen für Managed Service for Apache Kafka.