Skip to content

Microsserviço feito em Loopback integrado com serviço de mensageria RABBITMQ e banco ELASTICSEARCH com KIBANA. Aplicações conteinerizadas com DOCKER.

Notifications You must be signed in to change notification settings

VictorMagalhaesSales/microservice-loopback-video

Repository files navigation

Organização didática do projeto:

Docker LoopBack(NodeJS) Elasticsearch Kibana RabbitMQ

Para fins de estudos, foi separado uma pasta chamada modules contendo os modulos de RabbitMQ e Elasticsearch a fim de separar os arquivos criados para tais tecnologias e facilitar as futuras revisões de conteúdo. Projeto feito seguindo o curso "Desenvolvimento de Aplicações Modernas e Escaláveis com Microsserviços" da Code Education.

RabbitMQ

  • Conexão com o Loopback feita através do server RabbitmqServer.
  • A criação das exchanges é feita através do arquivo index.ts, na variável config que é passada para o método main() e posteriormente recuperadas em RabbitmqServer:createExchanges().
  • A criação das queues é feita através de decorator @rabbitmqSubscribe que são recuperados em RabbitmqServer:searchMethodsWithDecorators(), onde é feita a criação da queue, seu bind e a ligação do consumidor da queue com o método anotado para que este realize a operação requerida.
  • A Dead Letter Queue é criada através do index.ts com a exchange dlx.topic e a queue dlx.queue.topic que receberão todas as rejeições de mensagens das queues ligadas à exchange topic. Essa "camada morta" é recuperada e criada em RabbitmqServer:createQueues(). A ligação das queues com a exchange dlx.topic é feita também no decorator @rabbitmqSubscribe.

Elasticsearch

  • A aplicação se conecta com o elastic através do conceito de conectores do Loopback. Estamos utilizando um conector de elastic(loopback-connector-es) para criar um DataSource na nossa aplicação(Esv7DataSource) que define as configurações de conexão;

Docker Compose

Comandos básicos

# Iniciar aplicações com Docker Compose:
docker-compose up

# Instalar dependências:
npm install

# Rodar aplicação:
npm start

# Buildar aplicação:
npm run build

# Style code:
npm run lint

# Executar migrations do DB:
npm run migrate

Você também pode rodar node . para pular o passo de build.

Essa aplicação foi feita utilizando LoopBack 4 CLI com o initial project layout.

About

Microsserviço feito em Loopback integrado com serviço de mensageria RABBITMQ e banco ELASTICSEARCH com KIBANA. Aplicações conteinerizadas com DOCKER.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published