Utiliser Connexion au flux for Apache Kafka
Connectez votre Apache Kafka environnement à votre ServiceNow instance avec ServiceNow® Connexion au flux for Apache Kafka.
Apache Kafka est une plateforme distribuée de diffusion d’événements qui offre un moyen unifié d’échanger des données sur plusieurs systèmes. Connexion au flux relie votre environnement Kafka à votre ServiceNow instance, ce qui vous permet de diffuser des données entre votre instance et vos systèmes externes.
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 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é à 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 RTE (Robust Transform Engine) ou cartes 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 sur les statistiques et les mesures 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.
- Étape Kafka Producer dans Studio de workflow
- ProducerV2 API
- Consommateurs
Un consommateur lit et traite les événements d’un environnement Kafka. Stream Connect 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 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 rubriques. 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 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 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 sélectionne 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 de messages pour cette rubrique.
- Flux Kafka (non illustré 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 Studio de workflow, 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 . Permet à Service de messagerie Hermes votre instance de produire et d’utiliser de gros 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, leur lien avec ServiceNow les applications tierces et la façon dont ils se connectent à votre environnement Kafka via Hermes.
Connexion au flux et Studio de workflow
Créez des flux qui produisent et consomment des événements Kafka avec Stream Connect et Studio de workflow . 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 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 de 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 Producteur 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.
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 les 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 Connexion au flux.
Consommateurs ETL, carte de transformation et script
Importez des données à partir de votre environnement Kafka à l’aide de vos configurations RTE ou carte de transformation 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 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 contenues dans le 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 de message de connexion au flux
Vous pouvez répliquer des données entre votre environnement Kafka et ServiceNow avec Stream Connect Message Replication.
La réplication de messages de connexion au flux 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. 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 de Kafka [sys_kafka_undelivered_messages]. 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 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, elle nettoie donc automatiquement les enregistrements.
Séparation de domaine
Utilisez les espaces de noms des rubriques de connexion au flux pour configurer les domaines qui peuvent accéder à une rubrique Kafka sur une instance séparée par domaine. Regroupez les rubriques dans ServiceNow des espaces de 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
Stream Connect nécessite le module d’extension ServiceNow Stream Connect Installer [com.glide.hub.stream_connect.installer]. Ce module d’extension active les composants sous licence pour travailler avec des données de streaming basées sur des messages dans Stream Connect.