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

[Dúvida] Dúvida sobre como aplicar a Mensageria (RabbitMQ) em outro projeto

Após fazer o curso, resolvi desenvolver outro projeto diferente, e aplicar os conhecimentos adquiridos, a fim de descobrir se entendi corretamente os conceitos.

Meu projeto é um microsserviço simples de agendamento de consultas.

Tenho um microsserviço de usuários, onde cadastro médico, paciênte e funcionário, e um microsserviço de consultas, onde agendo as consultas.
Esse microsserviço de consultas buscas informações de médicos e pacientes no microsserviço de usuários.

Minha dúvida é, em qual microsserviço aplicaria as configurações dessa parte de Mensageria.

Pensei da seguinte forma:

ms-consultas → cria a consulta (é o produtor da mensagem).

ms-usuarios → recebe a mensagem (é o consumidor) e envia o e-mail.

Assim: A configuração inicial dessa parte da matéria, com as configurações com mais linhas no application.properties, ficam no microsserviço de usuários, e "ETAPA 4: Configurando a aplicação que funcionará como produtora", será implementada no microsserviço de consultas?

O microsserviço de usuários precisa apenas das configurações no application.properties?

O método da "ETAPA 3: Testando a aplicação que funciona como consumidora", enviarEmail, ele é necessário ou foi implementado apenas para testar o envio de mensagens?

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
2 respostas
solução!

Oi Camilo! Como vai?

Que legal que você está aplicando os conhecimentos adquiridos no curso em um novo projeto! Vamos ver se consigo te ajudar com essa dúvida sobre mensageria.

No seu cenário, onde você tem dois microsserviços - um para usuários e outro para consultas - a configuração que você pensou está no caminho certo. O microsserviço de consultas pode ser o produtor das mensagens, enquanto o microsserviço de usuários atua como o consumidor.

Aqui está um resumo de como você pode estruturar isso:

  1. ms-consultas (Produtor): Este microsserviço será responsável por gerar e enviar mensagens para a fila do RabbitMQ. Então, você deve implementar a configuração do RabbitMQ no application.properties deste serviço e adicionar a lógica para enviar mensagens. Isso inclui adicionar a dependência do Spring AMQP no pom.xml e criar um componente que utiliza o RabbitTemplate para enviar as mensagens.

  2. ms-usuarios (Consumidor): Este serviço irá consumir as mensagens da fila e realizar ações como enviar e-mails. Portanto, ele precisa ter as configurações do RabbitMQ no application.properties para se conectar à fila e a lógica para consumir as mensagens, que pode ser implementada usando um @RabbitListener.

Sobre o método enviarEmail da "ETAPA 3: Testando a aplicação que funciona como consumidora", ele é necessário para a funcionalidade de enviar e-mails sempre que uma mensagem é consumida. No entanto, se em seu projeto o envio de e-mails não for necessário, você pode adaptar essa parte conforme suas necessidades.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.

Deu certo a implementação e o email foi enviado e recebido com sucesso. Muito obrigado pelas dicas!

Só mais uma dúvida quanto ao uso de Mensageria (RabbitMQ): Quais outros exemplos para o uso de mensageria, além de enviar email com algum tipo de confirmação?