Usando Stream Connect para Apache Kafka
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 instância, permitindo que você transmita dados entre sua instância e seus sistemas externos.
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 do Kafka. Stream Connect está integrado ao Workflow Studio, Fornecendo uma maneira low-code para publicar e processar mensagens do Kafka.
- Importe dados do seu ambiente Kafka e processe esses dados usando as configurações do Mecanismo de Transformação Robusta (RTE) existente ou 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.
Componentes
Stream Connect tem os seguintes componentes.
- Produtores
Um produtor publica eventos em um ambiente Kafka. Stream Connect tem dois produtores.
- O produtor do Kafka entra Workflow Studio
- API ProducerV2
- Consumidores
Um consumidor lê e processa eventos de um ambiente Kafka. Stream Connect tem vários consumidores.
- Gatilho Mensagem do Kafka em Workflow Studio
- Extrair consumidor de carga de transformação (ETL)
- Consumidor de mapa de transformação
- Consumidor de script
- Namespaces de tópicos e 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. Eventos com a mesma chave são armazenados na mesma partição.
Os tópicos estão vinculados a 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.
- 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 do qual 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 Exibição de assinaturas e estatísticas do Kafka.
- Partições do grupo
Um grupo de partições é um conjunto de partições de tópico. Por exemplo, se um tópico tiver seis partições, eles poderão ser divididos 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 (não mostrados na imagem a seguir)
Um fluxo do 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 O Stream Connect usa 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 os principais componentes do Stream Connect, como eles se relacionam com ServiceNow E de terceiros, e como eles se conectam ao seu ambiente Kafka por meio do Hermes.
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 do Kafka e uma etapa de ação para produzi-los.
Use Gatilho 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 é 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 automaticamente ambos quando o fluxo é ativado. As mensagens são lidas do tópico desde que o fluxo esteja ativo.
Use Etapa do produtor do 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 por push para um tópico no seu ambiente Kafka.
Stream Connect alertas
Receba alertas e notificações de alerta para Stream Connect integrações. Stream Connect usa monitoramento ativo e programado 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 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 para 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 suas configurações de RTE existentes ou de mapa de transformação. 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 do Kafka, transformar os dados e inserir ou atualizar um registro em uma tabela. Você pode alternar de uma importação de dados programada 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 é para 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 ETL (Extract Transform Load, carga de transformação de extração), Configure um consumidor de mapa de transformação ou Configure um consumidor de script você também precisa Crie um fluxo Kafka.
API ProducerV2
Publique eventos em um tópico do Kafka com API 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.
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
- 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.
Domain Separation
Usar 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. Agrupar 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.
Plug-in
Stream Connect requer ServiceNow Stream Connect Instalador [plug-in 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.