Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] listar payloads em tópico, mas sem consumir

Olá, pessoal!

Estou dando suporte a uma aplicação que consome de um tópico no Kafka de outra empresa, dessa forma o acesso é restrito somente ao "group e "topic" que consumimos.

Acontece que para prestar o suporte, seria importante verificar se a fila de payloads do tópico está vazia para aquele group específico. Pelo o que estudei aqui, eu poderia usar o kafka-console-consumer.sh especificando o --topic, o --group e o --from-beginning e listaria todos os payloads, mas isso iria registrar no kafka que eu os consumi e mostrará tudo, não somente os que não foram consumidos ainda, enquanto que eu só queria vizualizar.

Em resumo: Como posso fazer, via terminal, para listar os payloads ainda não consumidos por um tópico e grupo específicos sem que o kafka ache que os estou consumindo?

Obrigado!

1 resposta
solução!

Oi Alexandre, tudo bem?

Desculpe a demora em retornar.

O utilitário kafka-console-consumer.sh é útil, mas como mencionou, ele registrará o consumo.

Uma abordagem para visualizar os payloads sem consumi-los é usar a ferramenta kafka-consumer-groups.sh com o modo --describe. Isso permitirá que você veja o offset mais recente para cada partição do tópico e grupo, o que indicará o último payload consumido.

Um exemplo de como usar o kafka-consumer-groups.sh para obter as informações do offset mais recente sem realmente consumir os payloads É:

bin/kafka-consumer-groups.sh --bootstrap-server <endereço_do_broker> --describe --group <seu_grupo>

Substitua claro, <endereço_do_broker> pelo endereço do broker do Kafka e <seu_grupo> pelo nome do grupo consumidor que você está interessado. Isso mostrará a posição atual (offset) para cada partição do tópico associado ao grupo.

Lembrando que isso não mostrará os payloads em si, apenas informações sobre os offsets. Isso permitirá que você tenha uma ideia de quais payloads ainda não foram consumidos sem efetivamente consumi-los ou afetar os offsets.

Caso seja necessário mais informações ou um monitoramento mais avançado, pode ser útil explorar bibliotecas de clientes Kafka para linguagens de programação como Python, Java, etc., para construir um script personalizado que atenda às suas necessidades sem interferir nos offsets de consumo.

Um abraço e bons estudos.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software