Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
1
resposta

[Dúvida] Ausência de exemplo final do Cluster integrado ao projeto com microserviços

Olá pessoal,

primeiramente gostaria de parabenizar a didática do curso, ministrado de maneira excelente. Mas não vim aqui para deixar esse elogio. Gostaria de sugerir um exemplo final integrando um cluster ao projeto de microserviço. Pode parecer estranho minha sugestão, mas posso explicar melhor. No projeto, configuramos a porta do RabbitMQ no application.properties no atributo spring.rabbitmq.port, porém no cluster, criamos uma porta para cada nó (do 8085 ao 8087). Se apontarmos para o 8085 tudo irá funcionar normalmente. Mas e quando o 8085 ficar indisponível? O cluster nos garante que os nós 8086 e 8087 irão continuar respondendo, mas no nosso projeto não fica óbvio de como fazer essa configuração para mudar de porta/endereço quando o nó primário (o que funciona na porta 8085) não estiver mais respondendo.

1 resposta
solução!

Olá, Ulysses, tudo certo?

Muito obrigado pelo seu feedback positivo sobre o curso! Fico feliz que esteja gostando. Vamos à sua dúvida sobre a configuração de um cluster com RabbitMQ.

Quando você está lidando com um cluster de RabbitMQ, é importante garantir que sua aplicação possa se conectar a qualquer nó disponível. Isso pode ser feito configurando o seu cliente para tentar se conectar a múltiplos nós. No caso do Spring Boot, você pode fazer isso utilizando uma lista de endereços no seu arquivo de configuração.

No seu application.properties, ao invés de especificar uma única porta, você pode definir os endereços dos nós do cluster da seguinte forma:

spring.rabbitmq.addresses=amqp://localhost:8085,amqp://localhost:8086,amqp://localhost:8087

Com essa configuração, o Spring AMQP tentará se conectar ao primeiro nó da lista (8085) e, se não conseguir, tentará os próximos (8086 e 8087) até encontrar um nó disponível.

Além disso, é importante garantir que seu cliente esteja configurado para lidar com falhas de conexão, o que pode envolver ajustes no tempo de espera e na política de reconexão.

Por fim, para encaminhar esse feedback ao setor correto, peço que, ao chegar no final do curso, traga esse seu ponto de vista no campo reservado para contar a sua experiência com ele. Assim, o pessoal responsável por realizar as atualizações no curso estará ciente dessa sua sugestão.

Bons estudos!

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!