Esse projeto é a simulação de um sistema simples de cadastro de usuário, onde foi criado dois microserviços, sendo a comunicação entre eles feita através do Kafka:
- Microserviço responsável por realizar a gravação de um usuário.
- Microserviço responsável por realizar a simulação de um envio de email com um código de confirmação para o emails que foram cadastrados.
- Clonar o repositório
git clone https://github.com/kaynansc/kafka_node
- Rodar containers
docker-compose up -d
- Acompanhar logs (Verificar através dos logs se o "envio" de email ocorreu)
docker logs -f microservice_email
Com os containers já rodando, o projeto possui apenas uma rota:
- POST - http://localhost:3000/users
curl --location --request POST 'http://localhost:3000/users' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "Test",
"email": "[email protected]",
"age": 18
}'
Essa rota bate no microserviço responsável por realizar a gravação de um usuário e depois produz uma mensagem para o Kafka com o tópico de "user-created" com as informações do usuário criado.
O microserviço responsável por enviar email já está aguardando mensagens com o tópico "user-created", sendo assim, quando chegar uma mensagem desse tópico, automaticamente é enviado um email com um código de confirmação para o email que foi cadastrado.
Acompanhar logs (Verificar através dos logs se o "envio" de email ocorreu)
docker logs -f microservice_email