Skip to content

kaynansc/kafka_node

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 

Repository files navigation


Projeto simples utilizando Kafka


💻 Sobre o Projeto

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:

  1. Microserviço responsável por realizar a gravação de um usuário.
  2. 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.


🛣 Fluxo

My cool logo



👨‍💻 Recursos Utilizados

  • Node
  • Kafka
  • Express
  • Sequelize
  • Postgres
  • Nodemailer

    ❗ Necessário para rodar o projeto

  • Docker e Docker Compose

    ✅ Passos para rodar o projeto

    1. Clonar o repositório
     git clone https://github.com/kaynansc/kafka_node
    1. Rodar containers
     docker-compose up -d
    1. Acompanhar logs (Verificar através dos logs se o "envio" de email ocorreu)
     docker logs -f microservice_email


    🔑 Como usar

    Com os containers já rodando, o projeto possui apenas uma rota:

       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
  • About

    No description, website, or topics provided.

    Resources

    Stars

    Watchers

    Forks

    Releases

    No releases published

    Packages

    No packages published