Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

[Dúvida] Porta do bootstrap server

Olá, pessoal!

Quando configuramos o bootstrap server na app, definimos a porta 9092. Porém, ao criarmos mais um broker, na porta 9093, não foi informado essa nova porta para a app e, mesmo assim, funcionou. Como funciona isso e por que funcionou se não foi informada a nova porta?

Obrigado!

3 respostas
solução!

Olá!

Sua dúvida é muito relevante e é uma questão que muitas pessoas têm quando começam a trabalhar com o Kafka.

O Kafka é projetado para funcionar em um ambiente distribuído, o que significa que ele pode ter vários brokers rodando em diferentes portas. Quando você configura o bootstrap server, você está essencialmente dizendo à sua aplicação onde encontrar pelo menos um dos brokers do Kafka.

A porta 9092 é a porta padrão para o broker do Kafka, mas se você tiver mais de um broker, eles precisarão estar em portas diferentes, como você mencionou na sua pergunta.

Agora, a razão pela qual tudo ainda funciona mesmo que você não tenha especificado a porta 9093 para o segundo broker é por causa de um recurso do Kafka chamado "descoberta de broker". Quando sua aplicação se conecta ao broker que você especificou no bootstrap server, esse broker informará à sua aplicação sobre todos os outros brokers que fazem parte do cluster. Isso inclui o broker na porta 9093.

Portanto, mesmo que você não tenha especificado explicitamente a porta 9093 na configuração do bootstrap server, sua aplicação ainda pode se comunicar com o broker naquela porta porque foi informada sobre ele pelo broker do bootstrap server.

Espero ter ajudado e bons estudos!

Entendi, bacana!

Mas e no caso em que os brokers estão em máquinas diferentes? Ainda assim a "descoberta de broker" funciona?

Oii.

Sim, mesmo quando os brokers estão em máquinas diferentes, a "descoberta de broker" ainda funciona no Kafka. O mecanismo de descoberta de broker no Kafka é projetado para lidar com ambientes distribuídos e pode atravessar máquinas diferentes.