Stream Connect für Apache Kafka verwenden

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 2025
  • 6 Minuten Lesedauer
  • Verbinden Sie Ihre Apache Kafka -Umgebung mit Ihrer ServiceNow -Instanz mit Stream Connect für Apache Kafka.

    Apache Kafka ist eine verteilte Event-Streaming-Plattform, die eine einheitliche Möglichkeit zum Austausch von Daten über mehrere Systeme hinweg bietet. Stream Connect für Apache Kafka verknüpft Ihre Kafka-Umgebung mit Ihrer Instanz ServiceNow, sodass Sie Daten zwischen Ihrer Instanz und Ihren externen Systemen streamen können.

    Hinweis:
    Stream Connect erfordert ein Workflow Data Fabric -Abonnement und ein Stream Connect -Abonnement. Weitere Informationen finden Sie unter https://www.servicenow.com/now-platform/workflow-data-fabric.html.

    Vorteile

    • Veröffentlichen und verarbeiten Sie Kafka-Ereignisse im großen Rahmen. Veröffentlichen Sie Ereignisse aus Ihrer Instanz ServiceNow in Ihrer Kafka-Umgebung, und verbrauchen Sie Kafka-Ereignisse aus Ihren externen Systemen mit hohem Volumen und niedriger Latenz.

    • Erstellen Sie Flows, die Kafka-Ereignisse erzeugen und verbrauchen. Stream Connect ist in Workflow-Studiointegriert und bietet eine Low-Code-Methode zum Veröffentlichen und Verarbeiten von Kafka-Nachrichten.
    • Importieren Sie Daten aus Ihrer Kafka-Umgebung, und verarbeiten Sie diese Daten mit Ihrer vorhandenen robusten Transformations-Engine (RTE) oder Transformationszuordnungskonfigurationen.
    • Konfigurieren Sie einen Verbraucher, der Ihre eigenen Skripts verwendet, um Daten aus einem Kafka-Thema zu verarbeiten.
    • Überwachen Sie die Leistung Ihrer Verbraucher mit detaillierten Berichten zu Statistiken und Leistungsmetriken.

    Komponenten

    Stream Connect weist die folgenden Komponenten auf.

    Hersteller

    Ein Ersteller veröffentlicht Ereignisse in einer Kafka-Umgebung. Stream Connect hat zwei Ersteller.

    • Kafka-Ersteller-Schritt in Workflow-Studio
    • BuilderV2-API
    Verbraucher

    Ein Verbraucher liest und verarbeitet Ereignisse in einer Kafka-Umgebung. Stream Connect hat mehrere Verbraucher.

    • Kafka-Nachrichtenauslöser in Workflow-Studio
    • ETL-Verbraucher (Transform Load) extrahieren
    • Verbraucher der Transformationszuordnung
    • Skript-Verbraucher
    Themen und Themen-Namespaces

    Ereignisse werden in Themen organisiert und gespeichert. Ein Thema speichert Ereignisse des gleichen Typs. Themen sind partitioniert. Ereignisse haben einen Schlüssel. Ereignisse mit demselben Schlüssel werden in derselben Partition gespeichert.

    Themen werden mit einem Themen-Namespace verknüpft. Sie können Namespaces verwenden, um Themen auf logische Weise zu organisieren. Sie können beispielsweise Themen basierend darauf gruppieren, aus welchem Kafka-Cluster sie stammen. Sie können Namespaces auch verwenden, um zu konfigurieren, welche Domänen auf welche Themen in einer domänengetrennten Instanz zugreifen können. Weitere Informationen finden Sie unter Managing namespaces and topics in Hermes.

    Abonnements

    Ein Abonnement ist ein Datensatz, der einem Verbraucher zugeordnet ist. Sie speichert Konfigurationsinformationen über den Verbraucher, z. B. den Namen des Kafka-Themas, von dem Nachrichten verbraucht werden sollen, und die Anzahl der Partitionen, die das Thema hat. Der Abonnementdatensatz wird erstellt, wenn ein Kafka-Stream aktiviert wird.

    Jeder Abonnementdatensatz verfügt über mehrere Metriken, mit denen Sie die Leistung des Verbrauchers anzeigen können, der das Thema liest. Weitere Informationen finden Sie unter Kafka-Abonnements und -Statistiken anzeigen.

    Partitionsgruppen

    Eine Partitionsgruppe ist ein Satz von Themenpartitionen. Wenn ein Thema beispielsweise sechs Partitionen hat, können diese in drei Partitionsgruppen mit zwei Partitionen in jeder Gruppe unterteilt werden.

    Kafka-Verbraucherauftrag

    Ein Auftrag, der Hermes regelmäßig auf neue Ereignisse in einem Thema überprüft. Die Aufgabe wählt eine freie Partitionsgruppe aus und ruft deren Abonnement ab. Das Abonnement gibt den Themennamen an, und die Aufgabe überprüft die Partitionen auf Nachrichten für dieses Thema.

    Kafka-Streams (in der folgenden Abbildung nicht dargestellt)

    Ein Kafka-Stream ist ein Datensatz, der den Datenstrom für einen Verbraucher definiert. Wenn Sie den Auslöser „Kafka-Nachricht“ in Workflow-Studioverwenden, wird der Kafka-Stream automatisch für Sie erstellt. Wenn Sie einen anderen Verbraucher verwenden, müssen Sie einen manuell erstellen.

    Um Ihre Kafka-Umgebung mit Ihrer Instanz ServiceNow zu verknüpfen, verwendet Stream Connect Hermes Messaging-Service. Mit Hermes Messaging-Service kann Ihre -Instanz große Mengen von Kafka-Ereignissen produzieren und verbrauchen. Verwaltet den Datenfluss zwischen Ihrer Kafka-Umgebung und Ihrer -Instanz. Weitere Informationen finden Sie unter Hermes Messaging Service.

    Das folgende Diagramm zeigt wichtige Komponenten von Stream Connect, wie sie sich auf ServiceNow und Anwendungen von Drittanbietern beziehen und wie sie über Hermes eine Verbindung zu Ihrer Kafka-Umgebung herstellen.

    Abbildung : 1. Übersicht über Stream Connect-Komponenten
    Diagramm, das Stream Connect-Komponenten und ihre Beziehung zu Kafka, ServiceNowund Hermes Messaging-Servicezeigt.

    Stream Connect und Workflow-Studio

    Erstellen Sie mit Stream Connect und Workflow-StudioFlows, die Kafka-Ereignisse erzeugen und verbrauchen. Stream Connect verfügt über einen Flow-Auslöser zum Verwenden von Kafka-Ereignissen und einen Aktionsschritt zu ihrer Erstellung.

    Verwenden Sie den Auslöser „Kafka-Nachricht“, um Flows zu erstellen, die Kafka-Ereignisse verarbeiten. Sie können einen Flow erstellen, der Daten aus Kafka verbraucht und in eine Tabelle einfügt oder Spokes verwendet, um die Daten an Drittparteiumgebungen zu übermitteln.

    Der Auslöser wird aktiviert, wenn der Flow aktiviert wird. Nach der Aktivierung startet der Auslöser den Flow, wenn im angegebenen Kafka-Thema eine Nachricht vorhanden ist. Wenn Sie den Auslöser „Kafka-Nachricht“ verwenden, müssen Sie keinen Kafka-Stream oder Abonnementdatensatz erstellen. Beides wird vom System automatisch erstellt, wenn der Flow aktiviert wird. Nachrichten werden aus dem Thema gelesen, solange der Flow aktiv ist.

    Verwenden Sie den Schritt „Kafka-Ersteller“, um Aktionen zu erstellen, die Ereignisse zu einem Thema in Ihrer Kafka-Umgebung veröffentlichen. Beispielsweise können Sie den Schritt verwenden, um eine Nachricht über ein Update für einen Incident in ServiceNowzu erstellen und die Nachricht dann an ein Thema in Ihrer Kafka-Umgebung zu übertragen.

    Stream Connect Warnung

    Erhalten Sie Warnungen und Warnungsbenachrichtigungen für Stream Connect -Integrationen. Stream Connect nutzt sowohl die aktive als auch die geplante Überwachung, um Ereignisse in mehreren Komponenten zu erkennen. Wenn ein Problem erkannt wird, erstellt das System eine Warnung, protokolliert eine Nachricht im Protokoll Stream Connect und sendet eine Warnungsbenachrichtigung. Details finden Sie unter Stream Connect Warnung.

    Unterstützung für Nachrichten in einem AVRO-Format

    Importieren und erstellen Sie Schemas zum Senden und Empfangen von Nachrichten im AVRO-Format Apache. Die Verwendung eines AVRO-Formats kann die Größe der Nutzlast reduzieren und die Integration in Ihre lokale Kafka-Instanz vereinfachen.

    Sie können AVRO-Schemata direkt aus der Confluent-Registrierung importieren oder eigene Schemas mit einer JSON-Datei oder einer JSON-formatierten Zeichenfolge erstellen. Die Schemas werden in ServiceNow gespeichert und ermöglichen Ihren Erstellern und Verbrauchern das Konvertieren von Nur-Text-Nachrichten in ein AVRO-Format und zurück. Details finden Sie unter Schemaverwaltung in Stream Connect.

    ETL, Transformationszuordnung und Skriptverbraucher

    Importieren Sie Daten aus Ihrer Kafka-Umgebung mit Ihren vorhandenen RTE- oder Transformationszuordnungskonfigurationen. Die Verbraucher zum Extrahieren der Transformationslast (ETL) und der Transformationszuordnung vereinfachen Ihre Datenimporte, indem sie eine effiziente Möglichkeit bieten, eine Nutzlast aus einer Kafka-Nachricht zu übernehmen, die Daten umzuwandeln und einen Datensatz in eine Tabelle einzufügen oder zu aktualisieren. Sie können von einem geplanten Datenimport zu einem Import mit Stream Connect wechseln und die Daten mit denselben Konfigurationen verarbeiten.

    Sie können auch den Skript-Verbraucher verwenden, um Daten aus Ihrer Kafka-Umgebung zu verarbeiten. Der Skriptverbraucher ist für erweiterte Anwendungsfälle vorgesehen, z. B. wenn die Daten in der Nachricht nicht strukturiert sind oder Datensuchen mit Code erforderlich sind.

    Wenn Sie Konfigurieren Sie einen ETL-Verbraucher (Extract Transform Load)., Konfigurieren Sie einen Transformationszuordnungs-Verbraucheroder Konfigurieren Sie einen Skript-Verbraucherverwenden, müssen Sie auch Erstellen Sie einen Kafka-Streamverwenden.

    BuilderV2-API

    Veröffentlichen Sie Ereignisse in einem Kafka-Thema mit der BuilderV2-API.

    Stream Connect Nachrichtenreplikation

    Sie können Daten zwischen Ihrer Kafka-Umgebung und ServiceNow mit der Stream Connect Nachrichtenreplikation replizieren.

    MitStream Connect der -Nachrichtenreplikation können Sie Nachrichtenreplikationen direkt über die Instanz ServiceNow konfigurieren und verwalten. Für die Ausführung der Datenreplikationen wird ein MID-Server verwendet, sodass Sie keine zusätzlichen Replikationsservices konfigurieren oder hosten müssen. Außerdem vereinfacht sie das Setup der Nachrichtenreplikation, indem die erforderlichen Zertifikate automatisch generiert werden.

    Weitere Informationen finden Sie unter Stream Connect-Nachrichtenreplikation.

    Unverarbeitete und nicht zugestellte Nachrichten

    Wenn eine Nachricht nicht zugestellt werden kann, wird sie in der Tabelle „Nicht zugestellte Kafka-Nachrichten“ [sys_kafka_undelivered_messages] gespeichert. Die geplante Aufgabe „Kafka-Ersteller-Wiederholung“ liest diese Tabelle regelmäßig und versucht, Nachrichten erneut zu übermitteln.

    Wenn ein Nachrichten-Batch aufgrund einer Zeitüberschreitung nicht verarbeitet werden kann, wird er in der Tabelle „Unverarbeitete Kafka-Nachrichten“ [sys_kafka_unprocessed_messages] gespeichert. Die Zeitüberschreitung für einen Nachrichten-Batch kann mit der Eigenschaft com.glide.kafka_consumer.timeout festgelegt werden. Der Standardwert beträgt 60 Sekunden. Diese Tabelle ist eine rotierte Tabelle, daher werden Datensätze automatisch bereinigt.

    Domänentrennung

    Verwenden Sie -Themennamespaces Stream Connect, um zu konfigurieren, welche Domänen auf ein Kafka-Thema in einer domänengetrennten -Instanz zugreifen können. Gruppieren Sie Themen in Namespaces ServiceNow, und verknüpfen Sie die Namespaces dann mit bestimmten Domänen. Weitere Informationen finden Sie unter Domänentrennung und Stream Connect.

    Plugin

    Stream Connect erfordert das Plugin ServiceNow Stream Connect „ Installer [com.glide.hub.stream_connect.installer]. Dieses Plugin aktiviert die lizenzierten Komponenten für die Arbeit mit nachrichtenbasierten Streaming-Daten in Stream Connect.