Trocar dados usando o Serviço de envio de mensagens Hermes

  • Versão de lançamento: Xanadu
  • Atualizado 1 de ago. de 2024
  • 3 min. de leitura
  • Você pode produzir e consumir mensagens do Kafka em sua instância da ServiceNow usando o Serviço de envio de mensagens Hermes.

    Existem vários métodos para trocar dados entre sua instância do ServiceNow e seu ambiente Kafka usando o Serviço de envio de mensagens Hermes. Em todos os casos, os dados são produzidos de uma entidade e consumidos por outra.

    • Usando Stream Connect, você pode produzir mensagens de sua instância da ServiceNow usando uma etapa do Produtor de uma ação de fluxo ou a API do Produtor e, em seguida, consumir as mensagens na sua aplicação externa.
      Você também pode produzir mensagens de uma aplicação externa e consumir as mensagens em sua instância da ServiceNow por meio de qualquer um dos seguintes métodos:
      • Gatilho de fluxo do Kafka
      • Consumidor de RTE
      • Consumidor de mapa de transformação
      • Consumidor de script

      Consulte Stream Connect para Apache Kafka para obter mais informações.

    • Usando o Log de serviço de exportação, você pode produzir logs de sua instância da ServiceNow e consumir os logs em sua aplicação externa. Para obter detalhes sobre como produzir e consumir logs para Log de serviço de exportação, consulte Log Export Service (LES).
    • Usando o protocolo padrão do Kafka, você também pode trocar mensagens com qualquer aplicação que produza mensagens. Por exemplo, você pode produzir mensagens de uma aplicação Java usando o protocolo Kafka padrão e consumi-las em sua instância da ServiceNow e vice-versa.

    Produzir e consumir de mensagens

    Para começar a trocar mensagens, crie um tópico no cluster do Kafka da Hermes. Depois de criar o tópico com sucesso, você cria um total de três processos para se comunicar com o cluster do Kafka da Hermes.

    • Um processo é necessário a fim de produzir mensagens para Hermes.
    • Dois processos são necessários para consumir mensagens de Hermes. Dois processos são necessários porque Hermes usa alguns clusters do Kafka para fins de failover. Se um cluster ficar inativo, os dados serão produzidos em outro cluster do Hermes Kafka.

    Ao usar o comando lista para exibir uma lista de tópicos, uma lista de tópicos atuais de um ou de ambos os clusters será exibida. Dependendo de quando ocorreu a última sincronização, pode acontecer de os dados virem de somente um cluster. Os tópicos criados para fins de failover são diferenciados por um prefixo de identificação de cluster com três letras.

    Não é possível excluir um tópico de ambos os clusters Kafka usando somente um comando na CLI (Command-Line Interface, Interface de linha de comando). Contudo, você pode excluir o tópico de ambos os clusters excluindo o registro do tópico em sua instância. Consulte Exclua um tópico em Hermes.

    Intervalos de portas necessárias

    Trabalhe com seu administrador da rede para garantir que os seguintes intervalos de portas estejam abertos antes de começar a trocar mensagens usando Hermes:
    • Produtor: 4000-4050
    • Consumidor1: 4100-4150
    • Consumidor2: 4200-4250

    Endereços de inicialização

    Use os mapeamentos de porta a seguir para conectar produtores e consumidores aos endereços de inicialização do cluster do Kafka. Todos os controladores de entrega da aplicação usados por Hermes seguem essa mesma convenção.

    Importante:
    Os exemplos de endereço de inicialização Hermes a seguir usam as portas 4000-4003, 4100-4103 e 4200-4203. No entanto, você deve abrir os seguintes intervalos de portas para garantir a conectividade conforme os clusters adicionais são adicionados ao Serviço de envio de mensagens Hermes.
    • Produtor: 4000-4050
    • Consumidor1: 4100-4150
    • Consumidor2: 4200-4250

    Os clientes produtores usam portas que variam de 4000 a 4050. Por exemplo:

    Producers = "<instance_name>.service-now.com:4000,<instance_name>.service-now.com:4001,<instance_name>.service-now.com:4002,<instance_name>.service-now.com:4003"

    Como o Hermes usa um par de clusters Kafka, é necessário configurar dois clientes consumidores com diferentes endereços de inicialização do consumidor.

    Importante:
    É necessário configurar dois endereços diferentes de inicialização do consumidor, um para cada cliente consumidor.
    • O primeiro cliente consumidor usa portas que vão de 4100 a 4150. Por exemplo:
      Consumer A = "<instance_name>.service-now.com:4100,<instance_name>.service-now.com:4101,<instance_name>.service-now.com:4102,<instance_name>.service-now.com:4103"
    • O segundo cliente consumidor usa portas que variam de 4200 a 4250. Por exemplo:
      Consumer B = "<instance_name>.service-now.com:4200,<instance_name>.service-now.com:4201,<instance_name>.service-now.com:4202,<instance_name>.service-now.com:4203"

    Ao configurar as propriedades de produtor e consumidor para o seu próprio cliente do Kafka, use esse padrão da cadeia de caracteres.