Utiliser Connexion au flux pour Apache Kafka

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 2024
  • 6 minutes de lecture
  • Connectez votre Apache Kafka environnement à votre instance à l’aide ServiceNow de Connexion au flux pour Apache Kafka.

    Apache Kafka est une plate-forme distribuée de diffusion d’événements qui offre 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 pour Apache Kafka nécessite un Moteur d'automatisation abonnement et un Connexion au flux pour Apache Kafka abonnement. Pour plus d'informations, consultez https://www.servicenow.com/products/automation-engine.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. Stream Connect est intégré à Concepteur de flux, 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 de moteur de transformation robuste (RTE) ou de carte de transformation existantes.
    • 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 de statistiques et d’indicateurs de performance.

    Composants

    Stream Connect comporte les composants suivants.

    Créateurs

    Un producteur publie des événements dans un environnement Kafka. Stream Connect a deux producteurs.

    • Intervention du producteur Kafka Concepteur de flux
    • ProducerV2 API
    Consommateurs

    Un consommateur lit et traite des événements provenant d’un environnement Kafka. Stream Connect a plusieurs consommateurs.

    • Déclencheur de message Kafka dans Concepteur de flux
    • Extraire la charge de transformation (ETL) du consommateur
    • Consommateur de carte de transformation
    • Consommateur de script
    Rubriques et espaces de noms des rubriques

    Les événements sont organisés et stockés dans des rubriques. Une rubrique stocke des é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 à quelles rubriques sur 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. Elle stocke des informations de configuration sur le consommateur, telles que le nom de la rubrique Kafka à partir de laquelle consommer les messages et le nombre de partitions de la rubrique. L’enregistrement d’abonnement est créé lorsqu’un flux Kafka est activé.

    Chaque enregistrement d’abonnement dispose de plusieurs mesures qui vous permettent d’afficher les performances du consommateur qui lit 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 possède six partitions, elles 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 Hermes 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 des messages de cette rubrique.

    Flux Kafka (non affiché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 de message Kafka dans Concepteur de flux, le flux Kafka est automatiquement créé pour vous. Si vous utilisez un consommateur différent, vous devrez en créer un manuellement.

    Pour lier votre environnement Kafka à votre ServiceNow instance, Stream Connect utilise le Service de messagerie Hermes fichier . La Service de messagerie Hermes permet à votre instance de produire et d’utiliser 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 Stream Connect, 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 la façon dont ils sont associés à Kafka, ServiceNowet le Service de messagerie Hermes fichier .

    Stream Connect et Concepteur de flux

    Créez des flux qui produisent et utilisent des événements Kafka avec Stream Connect et Concepteur de flux. Stream Connect dispose d’un déclencheur de flux pour consommer les événements Kafka et d’une étape d’action pour les produire.

    Utilisez le déclencheur Message Kafka pour créer des flux qui traitent les événements Kafka. Vous pouvez créer un flux qui consomme des données de Kafka et les insère dans une table, ou utiliser 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 de flux Kafka ou d’enregistrement d’abonnement. 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 l’é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.

    Consommateurs ETL, carte de transformation et script

    Importez des données à partir de votre environnement Kafka à l’aide de vos configurations de carte de transformation ou RTE existantes. Les consommateurs ETL (Extract Transform Load) et Transform Map simplifient vos importations de données en fournissant un moyen efficace de prendre une charge utile à partir 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 autre à 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.

    Réplication des messages de Connexion au flux

    Vous pouvez répliquer des données entre votre environnement Kafka et ServiceNow avec Stream Connect Message Replication.

    Stream Connect Message Replication 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, de sorte que vous n’avez pas besoin de configurer ou d’héberger des services de réplication supplémentaires. Elle simplifie également la configuration de la réplication de messages en générant automatiquement les certificats requis.

    Pour plus d'informations, consultez Réplication des messages 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 [sys_kafka_undelivered_messages] de Kafka. Une tâche planifiée, Kafka Producer Retry, lit régulièrement cette table et tente de redistribuer tous les messages.

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

    Séparation de domaine

    Utilisez les espaces de noms des rubriques Stream Connect pour configurer les domaines pouvant 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 pour Apache Kafka.