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

  • Versão de lançamento: Washingtondc
  • Atualizado 1 de fev. de 2024
  • 2 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 para Apache Kafka, 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 for Apache Kafka para obter mais informações.

    • Usando o Log Export Service, você pode produzir logs de sua instância da ServiceNow e consumir os logs em sua aplicação externa. Consulte LES (Log Export Service) para obter mais informações.
    • 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 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 para o outro cluster do Kafka Hermes.

    Intervalos de portas necessários

    Trabalhe com o 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 porta para garantir a conectividade conforme 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 alguns clusters do Kafka, dois clientes consumidores são necessários. Isso significa que dois endereços de inicialização distintos devem ser usados, um para cada consumidor.
    • O primeiro cliente consumidor usa portas que variam 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.