Skip to content

This repository contains two applications using the AMQP protocol (RabbitMQ). One application for recording messages and another for consuming the queue.

License

Notifications You must be signed in to change notification settings

vhenckel/RabbitMQ

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RabbitMQ

Criação de uma aplicação para testes de RabbitMQ

GitHub top language GitHub language count GitHub code size in bytes

Sobre   |   Tecnologias   |   Requisitos   |   Começando   |   Inspiração   |   Licença

📃 Sobre

Este repositório contém duas aplicações utilizando o RabbitMQ.

O diretório "service1" contém uma aplicação para gravação de mensagens utilizando o protocolo AMQP.

Já o diretório "service2" contém uma pequena aplicação para consumir os registros da fila especificada.

O objetivo principal desse projeto foi conhecer e aprender um pouco mais sobre o RabbitMQ e o protocolo AMQP de mensageria.

O projeto foi desenvolvido utilizando a versão gratuita da plataforma CloudMQP

🔨 Tecnologias

Este projeto foi desenvolvido com as seguintes tecnologias:

📚 Requisitos

  • Ter Git para clonar o projeto.
  • Ter Node.js instalado.

🚀 Começando

  # Clonar o projeto:
  $ https://github.com/vhenckel/RabbitMQ.git

  # Entrar no diretório:
  $ cd RabbitMQ
  

⚠️ Configs

  • Acesse o diretório 'service1', crie um arquivo '.env' e copie o conteúdo do arquivo '.env-example' ou simplesmente renomeie o '.env-example' para '.env'.
  • Altere o valor do atributo 'RABBITMQ_URL' para a URL recebida do CloudMQP ou a URL da instância do RabbitMQ no seu computador.

⚙️ Iniciando servidor SENDER

  # Entrar no diretório do servidor:
  $ cd service1

  # Instalar as dependências:
  $ npm i

  # Iniciar a aplicação:
  $ npm start

  # Rodando a aplicação:
  $ http://localhost:5001

⚙️ Iniciando servidor CONSUMER

  # Entrar no diretório do servidor:
  $ cd service2

  # Instalar as dependências:
  $ npm i

  # Iniciar a aplicação:
  $ npm start

  # Rodando a aplicação:
  $ http://localhost:5003

📤 Enviando mensagem

  # Endpoint: 
  http://localhost:5001/rabbit 

  # HTTP METHOD: 
  POST 

  # Payload JSON:
  {
    message: {
      ...Your_Object
    },
    channel: "Queue_Name"
  } 

  # O conteúdo do parâmetro "message" pode ser uma string ou objeto. 
  # Antes do envio, a classe de comunicação com o RabbitMQ vai tranformar o conteúdo em uma string.
  # O parâmetro "channel" é o nome da fila mesmo que você deseja criar. 
  # É com este mesmo nome que os outros serviços vão consultar a fila.

📥 Buscando mensagem

  # Endpoint: 
  http://localhost:5003/rabbit/:QUEUE_NAME

  # HTTP METHOD: 
  GET

  # Payload JSON:
  [
    {
      ...Your_Object
    }
  ]

  # O parâmetro "QUEUE_NAME" é o nome da fila onde as mensagens foram armazenadas.

💭 Inspiração

Aplicação apenas para teste e estudo do protocolo AMQP e RabbitMQ.

📝 Licença

Esse projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.


Feito com ❤️  & 🧠  por Vitor Henckel 👽

Get in touch!

About

This repository contains two applications using the AMQP protocol (RabbitMQ). One application for recording messages and another for consuming the queue.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published