Skip to content

Projeto de estudo que demonstra conceitos fundamentais de criação e gerenciamento de eventos utilizando RabbitMQ e Spring Framework.

Notifications You must be signed in to change notification settings

black-adm/spring-rabbitmq-studies

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Estudos com RabbitMQ e Spring

1. Subindo o container do RabbitMQ

Na raiz do projeto, execute o comando abaixo para iniciar o container:

docker compose up -d

2. Acessando a interface de administração

Com o container em execução, abra o navegador e acesse:

http://localhost:15672/

3. Credenciais de acesso padrão

Utilize as seguintes credenciais para login:

  • Usuário: guest

  • Senha: guest

4. Como interagir com a API

Para criar um evento de envio PIX, utilize o endpoint:

POST - http://localhost:8080/api/pix

O corpo da requisição deve ser enviado em JSON com os seguintes campos:

{
  "channel": "PF",
  "from": "Matheus Madureira",
  "to": "James Gosling",
  "value": 2334.96
}
  • channel: Tipo de cliente (PF para pessoa física, PJ para pessoa jurídica).

  • from: Nome do remetente do PIX.

  • to: Nome do destinatário do PIX.

  • value: Valor do PIX a ser enviado.

Ao enviar a requisição com sucesso, a API publica o evento em uma Exchange do RabbitMQ chamada pix-efetuado.

Esta Exchange é responsável por processar e distribuir os eventos de PIX para as filas de mensagens configuradas.

Atualmente, existem mais 3 microserviços além do de envio de PIX: auditms, pfms e pjms.
São eles que realizam o binding com a exchange pix-efetuado.

Cada microserviço direciona as mensagens para uma fila de acordo com sua responsabilidade:

  • O microserviço pfms recebe eventos de transações do tipo PF – pessoa física e gera logs.

  • O microserviço pjms processa apenas transações do tipo PJ – pessoa jurídica, também gerando logs.

  • O microserviço auditms atua como auditoria geral, monitorando todos os tipos de eventos e registrando os logs das transações processadas.

Exemplo de log gerado a partir de uma transação PIX:

AUDIT - Message Received: GenericMessage [payload=PixRequestDto[channel=PF, from=Matheus Madureira, to=Tom Cruise, value=4771.52]]

About

Projeto de estudo que demonstra conceitos fundamentais de criação e gerenciamento de eventos utilizando RabbitMQ e Spring Framework.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages