Qual diferença entre o consumo de mensagem em strems para o consumo de mensagens com um KafkaListener?
Qual diferença entre o consumo de mensagem em strems para o consumo de mensagens com um KafkaListener?
Olá, Anderson! A diferença entre o consumo de mensagens com um KafkaListener e o processamento de mensagens em streams é principalmente a maneira como os dados são manipulados.
Quando você usa um KafkaListener, você está basicamente consumindo as mensagens de um tópico do Kafka de maneira semelhante a como faria com um consumidor Kafka tradicional. Cada mensagem é lida e processada de forma individual.
Por outro lado, quando você está processando streams de dados com Kafka, você está lidando com um fluxo contínuo de eventos. Em vez de lidar com mensagens individuais, você está lidando com um fluxo de eventos que você pode manipular de maneira semelhante a como faria com uma coleção de objetos em uma linguagem de programação funcional.
Por exemplo, no código da aula que você mencionou, a classe PixAggregator
está usando o Kafka Streams para processar um fluxo de eventos do tópico pix-topic
. O método aggregator
recebe um StreamBuilder
e cria um KStream
a partir dele. Este KStream
é então usado para realizar várias operações no fluxo de eventos, como filtrar eventos com um valor acima de 1000 e imprimir uma mensagem no console para cada evento.
Em resumo, a principal diferença entre o KafkaListener e o processamento de streams é que o KafkaListener é mais adequado para situações onde você precisa processar mensagens individuais de um tópico do Kafka, enquanto o processamento de streams é mais adequado para situações onde você precisa manipular um fluxo contínuo de eventos.
Espero ter ajudado e bons estudos!