Utiliser Connexion au flux for Apache Kafka

  • Rversion finale: Yokohama
  • Mis à jour 30 janv. 2025
  • 8 minutes de lecture
  • Connectez votre Apache Kafka environnement à votre ServiceNow instance avec Connexion au flux pour Apache Kafka.

    Apache Kafka est une plateforme de streaming d’événements distribuée qui fournit un moyen unifié d’échanger des données sur plusieurs systèmes. Connexion au flux pour Apache Kafka relie votre environnement Kafka à votre ServiceNow instance, ce qui vous permet de diffuser des données entre votre instance et vos systèmes externes.

    Remarque :
    Connexion au flux nécessite un Workflow Data Fabric abonnement et un Connexion au flux abonnement. Pour plus d'informations, consultez https://www.servicenow.com/now-platform/workflow-data-fabric.html.

    Avantages

    • Publiez et traitez des événements Kafka à grande échelle. Publiez des événements dans votre environnement Kafka à partir de votre ServiceNow instance et consommez des événements Kafka à partir de vos systèmes externes à un volume élevé avec une faible latence.

    • Créez des flux qui produisent et consomment des événements Kafka. Connexion au flux est intégré à Studio de workflow, fournissant un moyen low-code de publier et de traiter des messages Kafka.
    • Importez des données à partir de votre environnement Kafka et traitez-les à l’aide de vos configurations existantes du moteur de transformation robuste (RTE) ou de la carte de transformation.
    • Configurez un consommateur qui utilise vos propres scripts pour traiter les données d’une rubrique Kafka.
    • Surveillez les performances de vos consommateurs grâce à des rapports détaillés sur les statistiques et les mesures de performance.

    Composants

    Connexion au flux comporte les composants suivants.

    Producteurs

    Un producteur publie des événements dans un environnement Kafka. Connexion au flux a deux producteurs.

    • Étape du producteur Kafka Studio de workflow
    • ProducerV2 API
    Consommateurs

    Un consommateur lit et traite les événements d’un environnement Kafka. Connexion au flux a plusieurs consommateurs.

    • Déclencheur de message Kafka dans Studio de workflow
    • Extraire le consommateur de charge de transformation (ETL)
    • Consommateur de carte de transformation
    • Consommateur de script
    Rubriques et espaces de noms de rubriques

    Les événements sont organisés et stockés dans des rubriques. Une rubrique stocke les événements du même type. Les rubriques sont partitionnées. Les événements ont une clé. Les événements avec la même clé sont stockés dans la même partition.

    Les rubriques sont liées à un espace de noms de rubrique. Vous pouvez utiliser des espaces de noms pour organiser les rubriques de manière logique. Par exemple, vous pouvez regrouper des rubriques en fonction de la grappe Kafka dont elles proviennent. Vous pouvez également utiliser des espaces de noms pour configurer quels domaines peuvent accéder aux rubriques d’une instance séparée par domaine. Pour plus d'informations, consultez Managing namespaces and topics in Hermes.

    Abonnements

    Un abonnement est un enregistrement associé à un consommateur. Il stocke des informations de configuration sur le consommateur, telles que le nom de la rubrique Kafka à partir de laquelle utiliser les messages et le nombre de partitions de la rubrique. L’enregistrement de l’abonnement est créé lorsqu’un flux Kafka est activé.

    Chaque enregistrement d’abonnement comporte plusieurs mesures qui vous permettent d’afficher les performances du consommateur lisant la rubrique. Pour plus d'informations, consultez Affichage des abonnements et des statistiques Kafka.

    Groupes de partitions

    Un groupe de partitions est un ensemble de partitions de rubriques. Par exemple, si une rubrique comporte six partitions, celles-ci peuvent être divisées en trois groupes de partitions, avec deux partitions dans chaque groupe.

    Tâche de consommateur Kafka

    Une tâche qui vérifie régulièrement Hermès pour tout nouvel événement dans une rubrique. La tâche choisit un groupe de partitions libre et récupère son abonnement. L’abonnement donne le nom de la rubrique et la tâche vérifie les partitions pour les messages de cette rubrique.

    Flux Kafka (non illustrés dans l’image suivante)

    Un flux Kafka est un enregistrement qui définit le flux de données pour un consommateur. Si vous utilisez le déclencheur Message Kafka dans Studio de workflow, le flux Kafka est automatiquement créé pour vous. Si vous utilisez un autre consommateur, vous devez en créer un manuellement.

    Pour lier votre environnement Kafka à votre ServiceNow instance, Stream Connect utilise le .Service de messagerie Hermes Cela Service de messagerie Hermes permet à votre instance de produire et de consommer de grands volumes d’événements Kafka. Il gère le flux de données entre votre environnement Kafka et votre instance. Pour plus d’informations, consultez Service de messagerie Hermes.

    Le diagramme suivant montre les composants clés de Connexion au flux, comment ils sont liés aux ServiceNow applications tierces et comment ils se connectent à votre environnement Kafka via Hermes.

    Figure 1. Vue d’ensemble des composants de Stream Connect
    Diagramme montrant les composants Stream Connect et leur relation avec Kafka, ServiceNow, et le Service de messagerie Hermes .

    Connexion au flux et Studio de workflow

    Créez des flux qui produisent et consomment des événements Kafka avec Connexion au flux et Studio de workflow. Connexion au flux dispose d’un déclencheur de flux pour la consommation d’événements Kafka et d’une étape d’action pour les produire.

    Utilisez le déclencheur de message Kafka pour créer des flux qui traitent les événements Kafka. Vous pouvez créer un flux qui consomme des données Kafka et les insère dans une table, ou utilise des spokes pour communiquer les données à des environnements tiers.

    Le déclencheur est activé lorsque le flux est activé. Une fois activé, le déclencheur démarre le flux chaque fois qu’il y a un message dans la rubrique Kafka spécifiée. Lorsque vous utilisez le déclencheur de message Kafka, vous n’avez pas besoin de créer un enregistrement de flux ou d’abonnement Kafka. Le système crée automatiquement les deux lorsque le flux est activé. Les messages sont lus à partir de la rubrique tant que le flux est actif.

    Utilisez l’étape Créateur Kafka pour créer des actions qui publient des événements dans une rubrique de votre environnement Kafka. Par exemple, vous pouvez utiliser cette étape pour créer un message sur une mise à jour d’un incident dans ServiceNow, puis transmettre le message à une rubrique de votre environnement Kafka.

    Connexion au flux Alerte

    Recevez des alertes et des notifications d’alerte pour Connexion au flux les intégrations. Connexion au flux Utilise à la fois la surveillance active et planifiée pour détecter les événements dans plusieurs composants. Si un problème est détecté, le système crée une alerte, consigne un message dans le Connexion au flux journal et envoie une notification d’alerte. Pour plus de détails, voir Connexion au flux Alerte.

    Prise en charge des messages au format Avro

    Importez et créez des schémas pour envoyer et recevoir des messages au Apache format Avro. L’utilisation d’un format Avro peut réduire la taille de la charge utile et simplifier votre intégration à votre instance Kafka locale.

    Vous pouvez importer des schémas Avro directement à partir du registre Confluent, ou vous pouvez créer vos propres schémas à l’aide d’un fichier JSON ou d’une chaîne au format JSON. Les schémas sont stockés et ServiceNow permettent à vos producteurs et consommateurs de convertir des messages en texte brut au format Avro et inversement. Pour plus de détails, voir Gestion des schémas dans Stream Connect.

    Consommateurs ETL, de carte de transformation et de script

    Importez des données à partir de votre environnement Kafka à l’aide de vos configurations RTE ou de carte de transformation existantes. Les consommateurs ETL (Extract Transformation Load) et Transform Map simplifient vos importations de données en fournissant un moyen efficace de prendre une charge utile d’un message Kafka, de transformer les données et d’insérer ou de mettre à jour un enregistrement dans une table. Vous pouvez passer d’une importation de données planifiée à une importation à l’aide de Stream Connect et traiter les données avec les mêmes configurations.

    Vous pouvez également utiliser le consommateur de script pour traiter les données de votre environnement Kafka. Le consommateur de script est destiné aux cas d’utilisation plus avancés, par exemple lorsque les données du message ne sont pas structurées ou lorsqu’il nécessite des recherches de données à l’aide de code.

    Lorsque vous Configurer un consommateur ETL (Extract Transform Load), Configurer un consommateur de carte de transformationou Configurer un consommateur de script, vous devez Créer un flux Kafkaégalement .

    ProducerV2 API

    Publiez des événements dans une rubrique Kafka avec l’API ProducerV2.

    Connexion au flux Réplication de messages

    Vous pouvez répliquer des données entre votre environnement Kafka et ServiceNow avec Connexion au flux Message Replication.

    Connexion au flux La réplication de messages vous permet de configurer et de gérer les réplications de messages directement à partir de votre ServiceNow instance. Il utilise un Serveur MID pour exécuter les réplications de données, vous n’avez donc pas besoin de configurer ou d’héberger des services de réplication supplémentaires. Il simplifie également la configuration de la réplication des messages en générant automatiquement les certificats requis.

    Pour plus d'informations, consultez Réplication de message de connexion au flux.

    Messages non traités et non remis

    Si un message ne peut pas être remis, il est stocké dans la table Messages non remis Kafka [sys_kafka_undelivered_messages]. Un travail planifié, Réessayer le producteur Kafka, lit régulièrement cette table et essaie de renvoyer tous les messages.

    Si un lot de messages ne peut pas être traité car il a expiré, il est stocké dans la table Messages non traités Kafka [sys_kafka_unprocessed_messages]. Le délai d’expiration d’un lot de messages peut être défini avec la com.glide.kafka_consumer.timeout propriété. La valeur par défaut est de 60 secondes. Cette table est une table pivotée, elle nettoie donc automatiquement les enregistrements.

    Séparation de domaine

    Utilisez Connexion au flux les espaces de noms des rubriques pour configurer les domaines qui peuvent accéder à une rubrique Kafka sur une instance séparée par domaine. Regroupez les rubriques dans des espaces de ServiceNow noms, puis liez les espaces de noms à des domaines spécifiques. Pour plus d'informations, consultez Séparation de domaine et Connexion au flux.

    Module d'extension

    Connexion au flux nécessite le module d’extension ServiceNow Connexion au flux Installer [com.glide.hub.stream_connect.installer]. Ce module d’extension active les composants sous licence pour travailler avec des données de diffusion basées sur des messages dans Connexion au flux.