Um micro serviço que se comunica com outro para realizar envio de emails com persistencia e fila, atraves da configuração do payload e os metodos de assinatura do rabbitmq, utilizando rabbitmqcloud dentro de uma instancia da Amazon Web Services.
para isso nos precisamos criar uma conta na https://www.cloudamqp.com/

depois de criarmos nossa conta vamos criar nossa instancia, no meu caso utilizei a litle lemur free, configuramos a região

depois vamos entrar na nossa instancia para pegar nossas crendenciais para conseguirmos realizar a conexão do noss micro serviço com a instancia
dentro da instancia nos podemos visualizar quanto nos podemos consumir no nosso plano free e podemos visualizar nossar credenciais que vamos utilizar para conectar no nosso spring, atraves da nossa application.propreites
vamos copiar o endereço dentro da tag de spring.rabbitmq.addresses=
e agora dentro da nossa instancia vamos criar uma fila, broker(explicar o que e broker) para comunicação direta entre os seriços
ao clicar em add queue e dar um nome para a fila ela aparecera configurada
dentro da fila agora podemos enviar as mensagens pelo meu serviço de user producer, atraves do payload
agora dentro do spring precisamos configurar este component para conseguir realizar o envio da mensagem vamos adicionar as dependencias necessarias para o uso do rabbit
<dependency>
<groupId>org.springframework.amqp</groupId>
<artifactId>spring-rabbit-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
e depois vamos criar um component com o rabbit template e vamos utilizar o metodo do rabbit template para realizar a conversão e envio da mensagem
pos configurar a nosso commponent de envio nos ja podemos enviar as mensagens
a mensagem fica na fila em estado de ready mas não existe nenhum consumer configurado para esta fila no momento, entao posso enviar varias mensagens para outro serviço que as mensagens vão ficar se empilhando uma sobre a outra, até o momento que o meu serviço de consumer começe a consumir estas mensagens. Vamos configurar o consumer no outro repositorio, https://github.com/PauloHFA/MicroService-EmailConsumer.