Produzindo e consumindo mensagens de um cliente Kafka

  • Versão de lançamento: Zurich
  • Atualizado 13 de ago. de 2025
  • 3 min. de leitura
  • Saiba como produzir e consumir mensagens para Hermes De um cliente Kafka.

    Para começar a trocar mensagens de um cliente Kafka, comece criando um tópico no Hermes Cluster do Kafka. Depois de criar o tópico com sucesso, você deve criar um total de três processos com os quais se comunicar 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.
      Importante:
      É necessário configurar dois endereços diferentes de inicialização do consumidor, um para cada cliente consumidor.

    Um processo do consumidor usa portas no intervalo de 410 vezes e o outro usa portas no intervalo de 420 vezes. Isso significa que você deve definir dois clientes distintos, um para cada intervalo de portas. Em cada configuração de cliente, você pode definir IDs de grupo de consumidores.

    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

    Para confirmar se as portas estão acessíveis por meio do firewall, execute o seguinte comando:

    openssl s_client -connect <instance_name>.service-now.com:<port> -servername <instance_name>.service-now.com
    • Mude o domínio service-now.com se sua instância usar um nome de domínio diferente.
    • Conclua o teste usando portas de cada um dos três intervalos de portas. Por exemplo: Teste 4000-4003, 4100-4103 e 4200-4203.

    Se o comando falhar internamente, mas for bem-sucedido de um cliente fora da rede, consulte o administrador de rede para obter acesso por meio do firewall de rede.

    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.

    Usando a interface de linha de comando (CLI)

    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.

    Ao acessar os clusters Hermes usando a CLI, os tópicos internos aparecem além de todos os tópicos que você criou. Para obter detalhes, consulte KB1705399.

    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.