Usando Stream Connect para Apache Kafka

  • Versão de lançamento: Australia
  • Atualizado 12 de mar. de 2026
  • 11 min. de leitura
  • Conecte seu Apache Kafka ambiente para seu ServiceNow instância com Stream Connect para Apache Kafka.

    Apache Kafkaé uma plataforma distribuída de streaming de eventos que fornece uma maneira unificada de trocar dados em vários sistemas. Stream Connect para Apache Kafka Vincula seu ambiente Kafka ao seu ServiceNow, permitindo que você transmita dados entre sua instância e seus sistemas externos.

    Nota:
    Stream Connect requer uma assinatura Workflow Data Fabric e uma assinatura Stream Connect. Para obter mais informações, consulte https://www.servicenow.com/now-platform/workflow-data-fabric.html.

    Benefícios

    • Publicar e processar eventos do Kafka em grande escala. Publicar eventos no ambiente Kafka de sua instância da ServiceNow e consumir eventos do Kafka de seus sistemas externos com um alto volume e baixa latência.

    • Crie fluxos que produzem e consomem eventos Kafka. Stream Connect está integrado com Workflow Studio, Fornecendo uma maneira low-code para publicar e processar mensagens Kafka.
    • Importe dados do seu ambiente Kafka e processe esses dados usando o Mecanismo de transformação robusto (RTE) existente ou as configurações do mapa de transformação.
    • Configure um consumidor que usa seus próprios scripts para processar dados de um tópico do Kafka.
    • Monitore o desempenho de seus consumidores com relatórios detalhados de estatísticas e métricas de desempenho.
    • Integre seu local ServiceNow Instância com seu ambiente Kafka local com Kafka direto.

    Terminologia

    Stream Connect usa os seguintes termos.

    Produtores

    Um produtor publica eventos em um ambiente Kafka. Stream Connect tem dois produtores.

    • O produtor Kafka entra em ação Workflow Studio
    • API do ProducerV2
    clientees

    Um consumidor lê e processa eventos de um ambiente Kafka. Stream Connect tem vários consumidores.

    • Gatilho de mensagem do Kafka em Workflow Studio
    • Extract Transform Load (ETL) Consumer
    • Consumidor de mapa de transformação
    • Consumidor de script
    Namespaces de tópicos

    Os eventos são organizados e armazenados em tópicos. Um tópico armazena eventos do mesmo tipo. Os tópicos são particionados. Os eventos têm uma chave. Os eventos com a mesma chave são armazenados na mesma partição.

    Link de tópicos para um namespace de tópico. Você pode usar namespaces para organizar tópicos de maneiras lógicas. Por exemplo, você pode agrupar tópicos com base em qual cluster Kafka eles vêm. Você também pode usar namespaces para configurar quais domínios podem acessar quais tópicos em uma instância separada por domínio. Para obter mais informações, consulte Managing namespaces and topics in Hermes.

    Aliases de tópico
    R alias do tópico é um nome de tópico exclusivo que pode ser conectado a qualquer subjacente Hermes Ou tópico direto do Kafka. Um alias de tópico pode ser movido para instâncias diferentes e conectado a um tópico subjacente diferente em cada instância.
    Assinaturas

    Uma assinatura é um registro associado a um consumidor. Ele armazena informações de configuração sobre o consumidor, como o nome do tópico do Kafka para consumir mensagens e o número de partições que o tópico tem. O registro de assinatura é criado quando um fluxo Kafka é ativado.

    Cada registro de assinatura tem várias métricas que permitem exibir o desempenho da leitura do consumidor do tópico. Para obter mais informações, consulte Exibindo assinaturas e estatísticas do Kafka.

    Grupos de partições

    Um grupo de partições é um conjunto de partições de tópico. Por exemplo, se um tópico tiver seis partições, elas poderão ser divididas em três grupos de partições, com duas partições em cada grupo.

    Trabalho do consumidor Kafka

    Um trabalho que verifica regularmente Hermes para quaisquer novos eventos em um tópico. O trabalho escolhe um grupo de partições livre e recupera sua assinatura. A assinatura fornece o nome do tópico, e o trabalho verifica as partições em busca de mensagens para esse tópico.

    Fluxos do Kafka

    Um fluxo Kafka é um registro que define o fluxo de dados para um consumidor. Se você estiver usando o gatilho Mensagem do Kafka em Workflow Studio, O fluxo Kafka é criado automaticamente para você. Se você estiver usando um consumidor diferente, precisará criar um manualmente.

    Para vincular seu ambiente Kafka ao seu ServiceNow A conexão de fluxo usa o. Serviço de envio de mensagens Hermes. . Serviço de envio de mensagens Hermes Permite que sua instância produza e consuma grandes volumes de eventos Kafka. Ele gerencia o fluxo de dados entre seu ambiente Kafka e sua instância. Para obter mais informações, consulte Hermes Messaging Service .

    O diagrama a seguir mostra alguns dos principais componentes do Stream Connect.

    Figura 1. Visão geral do Stream Connect
    Diagrama que mostra uma visão geral dos componentes do Stream Connect.

    Usando a Configuração assistida para Stream Connect

    A Configuração assistida fornece uma sequência de tarefas que podem ajudar você a configurar Stream Connect. Para abrir a Configuração assistida, navegue até Tudo > IntegrationHub > Conexão de fluxo > Configuração assistida.

    Para obter mais informações sobre como usar a interface de configuração assistida, consulte Usando a configuração assistida .

    Stream Connect e Workflow Studio

    Crie fluxos que produzem e consomem eventos Kafka com Stream Connect e. Workflow Studio. Stream Connect Tem um gatilho de fluxo para consumir eventos Kafka e uma etapa de ação para produzi-los.

    Use o. Gatilho de mensagem do Kafka Para criar fluxos que processam eventos Kafka. Você pode criar um fluxo que consome dados do Kafka e os insere em uma tabela ou usa spokes para comunicar os dados a ambientes de terceiros.

    O gatilho é habilitado quando o fluxo é ativado. Depois que ele é ativado, o gatilho inicia o fluxo sempre que há uma mensagem no tópico do Kafka especificado. Ao usar o gatilho Mensagem do Kafka, você não precisa criar um fluxo do Kafka ou um registro de assinatura. O sistema cria ambos automaticamente quando o fluxo é ativado. As mensagens são lidas do tópico desde que o fluxo esteja ativo.

    Use o. Etapa do produtor Kafka Para criar ações que publicam eventos em um tópico em seu ambiente Kafka. Por exemplo, você pode usar a etapa para criar uma mensagem sobre uma atualização em um incidente em ServiceNow, Em seguida, envie a mensagem para um tópico no seu ambiente Kafka.

    Kafka direto

    Integre seu local ServiceNow Instância com seu ambiente Kafka local com Kafka direto. Crie integrações eficientes entre seus sistemas empresariais, permitindo integrações robustas e de alto volume para trocar dados entre aplicações e reduzir a perda de dados com o mecanismo de enfileiramento se um ambiente estiver temporariamente off-line.

    Com o Kafka direto, você pode configurar uma conexão Kafka personalizada para integrar Stream Connect Em sua instância local com seu ambiente Kafka local. Esta conexão permite que você use Stream Connect e seus recursos diretamente, sem exigir o. Serviço de envio de mensagens Hermes ou um replicador de mensagens separado.

    Stream Connect alertas

    Receba alertas e notificações de alerta para Stream Connect integrações. Stream Connect usa monitoramento ativo e agendado para detectar eventos em vários componentes. Se um problema for detectado, o sistema criará um alerta e registrará uma mensagem no Stream Connect E envia uma notificação de alerta. Para obter detalhes, consulte Stream Connect alertas.

    Suporte para mensagens em formato Avro

    Importe e crie esquemas para enviar e receber mensagens em um Apache Formato Avro. Usar um formato Avro pode reduzir o tamanho da carga útil e simplificar sua integração com sua instância Kafka local.

    Você pode importar esquemas Avro diretamente do registro confluent ou pode criar seus próprios esquemas usando um arquivo JSON ou uma cadeia de caracteres formatada em JSON. Os esquemas são armazenados em ServiceNow E permita que seus produtores e consumidores convertam mensagens de texto sem formatação em um formato Avro e vice-versa. Para obter detalhes, consulte Gestão de esquemas em Stream Connect.

    ETL, Mapa de transformação e consumidores de script

    Importe dados do seu ambiente Kafka usando as configurações de RTE ou Mapa de transformação existentes. Os consumidores Extract Transform Load (ETL) e Transform Map simplificam suas importações de dados fornecendo uma maneira eficiente de obter uma carga de uma mensagem Kafka, transformar os dados e inserir ou atualizar um registro em uma tabela. Você pode alternar de uma importação de dados agendada para uma usando o Stream Connect e processar os dados com as mesmas configurações.

    Você também pode usar o Consumidor de script para processar dados do seu ambiente Kafka. O consumidor de script destina-se a casos de uso mais avançados, como quando os dados na mensagem não estão estruturados ou requer pesquisas de dados usando código.

    Quando você Configure um consumidor de carga de transformação de extração (ETL), Configure um consumidor de mapa de transformação, ou Configure um consumidor de script, você também precisa Crie um fluxo Kafka.

    API do ProducerV2

    Publique eventos em um tópico do Kafka com API do ProducerV2 .

    Stream Connect Replicação de mensagem

    Você pode replicar dados entre seu ambiente Kafka e. ServiceNow com Stream Connect Replicação de mensagem.

    Stream Connect A Replicação de mensagens permite configurar e gerenciar replicações de mensagens diretamente do seu ServiceNow instância. Ele usa um MID Server ou MID Server cluster para executar as replicações de dados, para que você não precise configurar ou hospedar serviços de replicação adicionais. Ele também simplifica a configuração da replicação de mensagens gerando automaticamente os certificados necessários.

    Para obter mais informações, consulte Stream Connect Replicação de mensagem.

    Stream Connect logs

    As mensagens de log para produtores e consumidores são armazenadas no Stream Connect Tabela de logs [sys_consumer_log]. Cada entrada de log mostra quando o log foi criado; seu nível, mensagem e origem; e links para qualquer registro de alerta ou assinatura relacionado.

    Você pode habilitar o registro em log mais detalhado por adicionando a propriedade do sistema glide.ih.kafka.stream_connect.debuge definindo como verdadeiro . Para evitar preencher os logs, esta propriedade é desabilitada automaticamente após 24 horas. Se você precisar de registro em log detalhado por mais de 24 horas, poderá reativar a propriedade manualmente.

    Mensagens não processadas e não entregues

    Se uma mensagem não puder ser entregue, ela será armazenada na tabela Mensagens não entregues do Kafka [sys_kafka_undelivered_messages]. Um trabalho agendado, Retenção do produtor Kafka, lê regularmente esta tabela e tenta reentregar todas as mensagens.

    Se um lote de mensagens não puder ser processado porque atingiu o tempo limite, ele será armazenado na tabela Mensagens não processadas do Kafka [sys_kafka_unprocessed_messages]. O tempo limite de um lote de mensagens pode ser definido com com.glide.kafka_consumer.timeoutpropriedade. O valor padrão é 60 segundos. Esta tabela é uma tabela girada, portanto limpa registros automaticamente.

    Formatos de compactação do produtor

    Especifique um formato de compactação para Stream Connect produtores com com.glide.kafka_producer.compression_typepropriedade do sistema. Ele oferece suporte aos seguintes valores:
    • NENHUM
    • GZIP
    • LZ4
    Esta propriedade não está na tabela Propriedades do sistema [sys_properties] por padrão, portanto deve estar adicionado manualmente . Esta propriedade define o formato de compactação para todos Stream Connect produtores.
    Nota:
    Para consumir uma mensagem compactada, ela deve ter sido compactada usando GZIP ou lz4.

    Domain Separation

    Uso Stream Connect Namespaces de tópico para configurar quais domínios podem acessar um tópico do Kafka em uma instância separada por domínio. Agrupe tópicos em ServiceNow namespaces e vincule os namespaces a domínios específicos. Para obter mais informações, consulte Domain Separation e Stream Connect.

    Diagrama de arquitetura

    O diagrama a seguir mostra os principais componentes de Stream Connect, como eles se relacionam ServiceNow E de terceiros, e como eles se conectam ao seu ambiente Kafka por meio do Hermes.

    Figura 2. Diagrama de arquitetura do Stream Connect
    Diagrama que mostra os componentes do Stream Connect e como eles se relacionam com o Kafka, ServiceNow e o. Serviço de envio de mensagens Hermes.

    Plug-in

    Stream Connect requer o. ServiceNow Stream Connect Plug-in do instalador [com.glide.hub.stream_connect.installer]. Este plug-in habilita os componentes licenciados para trabalhar com dados de streaming baseados em mensagem no Stream Connect.

    Caso de uso de exemplo

    Uma empresa de telecomunicações monitora milhões de redes, dispositivos e sistemas e equipamentos de operações de instalações. Os sistemas de monitoramento geram milhões de alertas que precisam ser processados e respondidos para manter as redes totalmente operacionais.

    As mensagens são enviadas internamente das fontes de monitoramento para o ambiente Kafka. A partir daí, eles são replicados para o. ServiceNow Cluster de Hermes Kafka. Isso aciona os consumidores de script que leem as mensagens e analisam os dados nos cabeçalhos, chaves e cargas para inserir novos registros na tabela de eventos com eficiência.

    As capacidades do produto TSOM relacionadas processam os dados do evento, criando incidentes e ordens de serviço de campo de forma rápida e eficiente para resolução do problema, resultando em redução do tempo de resolução do problema.

    Diagrama de importação de exemplo do Stream Connect.

    Principais suposições e critérios de decisão
    • O volume de dados é incremental e frequente.
    • Os dados incluem mensagens sobre uma variedade de dispositivos de uma variedade de ferramentas.
    • Esclareça se os dados incluem apenas elementos do registro primário ou se também incluem elementos de registros relacionados.
    • Confirme se a importação de dados está associada a uma automação de processos.
    Orientação
    • Defina tópicos com uma convenção de nomenclatura para direcionar claramente o processamento das mensagens. Por exemplo, se os dados forem provenientes de uma fonte de ferramenta de monitoramento da SolarWinds, o tópico poderá ser chamado sn_streamconnect.solarwinds. Os tópicos podem ser encontrados no navegador em Serviço de envio de mensagens Hermes > Tópicos.

      Exemplo de captura de tela do Stream Connect que mostra um tópico do Kafka chamado sn_streamconnect.solarwinds.

    • Ao produzir mensagens para Kafka (e replicar para Hermes), defina e utilize chaves para garantir a ordem de entrega e processamento de mensagens. Por exemplo, para garantir que as mensagens sejam mantidas em ordem, use o ID do dispositivo como o valor da chave para mantê-las juntas para processamento.
    • Utilize cabeçalhos, chaves e atributos de carga para habilitar o dimensionamento e a análise eficaz de mensagens recebidas de várias origens.
    • Utilize um consumidor de script ou um consumidor de gatilho de fluxo para a ingestão de dados transacionais. Seguindo o exemplo, o consumidor de script pode ser nomeado de forma semelhante, como "Consumidor de script do SolarWinds". Os consumidores de script podem ser encontrados no navegador em IntegrationHub > clientees > Consumidores de script.

      Exemplo de captura de tela do Stream Connect mostrando um registro de consumidor de script Kafka.

    • O script do consumidor de script analisa o conteúdo da mensagem para identificar a qual dispositivo a mensagem estava relacionada e processa-o de acordo.

      Exemplo de conexão de fluxo de captura de tela mostrando o código criando um registro de tabela de eventos da ServiceNow.

      Nota:
      O código acima é um exemplo parcial e representativo focado na ingestão e análise dos dados da mensagem para preencher registros de tabela. O objetivo é ser útil para orientar uma implementação.