Como gerenciar tópicos no Hermes
Gerencie registros de tópico em sua instância e tópicos Kafka no cluster Kafka Hermes usando o Serviço de envio de mensagens Hermes.
Registros de tópico
As mensagens são organizadas e armazenadas em tópicos Kafka no cluster Kafka Hermes. Os registros de tópico são armazenados na tabela Tópicos Kafka [sys_kafka_topic] em sua instância. Esta tabela mostra uma lista de registros de tópicos com uma referência ao namespace de cada tópico. Cada registro de tópico tem um campo para o nome do tópico, namespace relacionado e se o tópico está ativo.
- Cria registros de tópico para todos os tópicos descobertos, atribuindo-os ao namespace apropriado com base no prefixo do nome do tópico.
- Sincroniza tópicos criados a partir de fontes externas, como a interface de linha de comando (CLI) Kafka. Por exemplo, quando um tópico é criado a partir de uma fonte externa no cluster próximo, o trabalho é executado e cria o tópico no cluster distante também.
- Registra uma mensagem de aviso se um tópico não puder ser correspondido a nenhum namespace. Se um tópico não puder ser correspondido a nenhum namespace, o registro do tópico não será criado. Há um namespace padrão sem prefixo chamado Namespace Padrão que corresponde a todos os tópicos. A única vez em que um tópico não corresponde a nenhum namespace é quando o Namespace Padrão foi excluído ou modificado.
- Marca os tópicos como inativos se nenhum tópico Kafka for encontrado para eles.
Você pode monitorar o processamento de mensagens e exibir tópicos no cluster Kafka Hermes usando o inspetor de tópicos. Para obter mais informações, consulte Tópicos de monitoramento no cluster Kafka Hermes.
Criando tópicos
- Crie tópicos da sua instância. Isso cria um registro na tabela Tópicos Kafka [sys_kafka_topic] e cria um tópico Kafka no cluster Kafka Hermes. Consulte Criar um tópico em Hermes.
- Crie o tópico externamente. Por exemplo, crie o tópico usando a interface de linha de comando (CLI) do Kafka.Nota:Para evitar problemas de sincronização entre o cluster e sua instância, inclua o ID da aplicação ao criar tópicos externamente. Por exemplo, sem o ID da aplicação, um tópico criado a partir do CLI com um nome como
snc.instancename.fulfillment.topicnameé criado no namespace padrão em vez de no namespaceexecução. Para garantir que o tópico seja criado no namespaceexecução, inclua o ID da aplicação no nome usando o formatosnc.instancename.fulfillment.app_id.topicname. Substituaapp_idpelo ID da aplicação de sua escolha.
Se, por algum motivo, um tópico não puder ser criado no cluster Kafka Hermes, ele também não será criado na tabela Tópicos Kafka [sys_kafka_topic].
Atualizando tópicos
Se necessário, você pode mudar o número de partições em um tópico. Observe que você só pode aumentar o número de partições em um tópico. Para obter mais informações, consulte Atualizar um tópico em Hermes.
Depois de criado, o namespace atribuído a um registro de tópico é permanente. Se você criar um registro de namespace e quiser mover tópicos existentes para ele, deverá excluir os tópicos e recriá-los no cluster Kafka Hermes com o novo prefixo de namespace. Se os tópicos não foram criados por meio da instância, novos registros de tópico serão criados e atribuídos ao registro de namespace correspondente após uma nova verificação.
Excluindo tópicos
- Exclua o tópico diretamente da tabela Tópicos Kafka [sys_kafka_topic] em sua instância. Esse método exclui automaticamente o tópico de todos os clusters Kafka Hermes em uma ação. Veja Exclua um tópico em Hermes
- Exclua o tópico externamente. Por exemplo, exclua o tópico usando a interface de linha de comando (CLI) do Kafka.Importante:A exclusão externa do tópico requer a exclusão do tópico de ambos os clusters Hermes manualmente, especificando cada conjunto de portas (410x e 420x). Se possível, exclua o tópico por meio da instância.
Você não pode excluir um tópico se ele tiver assinaturas em Stream Connect.
Fazendo uma nova verificação de tópicos
A nova verificação cria registros de tópico para todos os tópicos no cluster Kafka Hermes que ainda não tenham registros de tópico correspondentes. Por exemplo, se você criar tópicos em Hermes usando a CLI, poderá fazer uma nova verificação para criar registros de tópico correspondentes na tabela Tópicos Kafka [sys_kafka_topic] imediatamente, em vez de aguardar o trabalho agendado para criá-los.
- A nova verificação ocorre automaticamente a cada dez minutos.
- Registros de tópico criados são atribuídos a namespaces existentes com base em regras de correspondência de prefixo.
- Quando o plug-in ServiceNow Integration Hub Kafka Consumer (com.glide.hub.kafka_consumer) é habilitado depois que já existem tópicos em Hermes.
- Quando registros de tópico são excluídos acidentalmente.
- Quando as definições de namespace são alteradas, e você deseja atribuir tópicos existentes aos novos namespaces.