Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

Escalando consumers do Kafka

O Kafka permite que eu crie partições permitindo inclusive a escala dos micro serviços. Mas pelo que vi na aula até o momento não entendi se é possível fazer com que 2 serviços (de envio de email por exemplo), consiga consumir uma única partição do Kafka.

Pergunto isso imaginando um cenário em que o kafka receba milhões de mensagens de NewOrder em 3 partições, mas, para dar conta destas mensagens eu queira subir 10 serviços pra processar as compras o mais rápido possível.

Consigo fazer isso ou fico limitado ao número de partições do kafka?

2 respostas
solução

2 Serviços não conseguem ler a mesma partição se estiverem no mesmo Consumer Group, para esse cenário acredito que a melhor solução seria aumentar o numero de partições.

Comando para alterar o numero de partições: (fonte: https://kafka.apache.org/documentation/)

bin/kafka-topics.sh --bootstrap-server broker_host:port --alter --topic my_topic_name --partitions 10

Nesse link abaixo tem algumas explicações e imagens sobre como funciona as partições:

https://www.oreilly.com/library/view/kafka-the-definitive/9781491936153/ch04.html

Muito obrigado Denis. Os links que compartilhou foram bem esclarecedores.