Criação de uma aplicação para testes de RabbitMQ
Sobre | Tecnologias | Requisitos | Começando | Inspiração | Licença
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
Este projeto foi desenvolvido com as seguintes tecnologias:
# Clonar o projeto:
$ https://github.com/vhenckel/RabbitMQ.git
# Entrar no diretório:
$ cd RabbitMQ
- 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.
# 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
# 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
# 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.
# 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.
Aplicação apenas para teste e estudo do protocolo AMQP e RabbitMQ.
Esse projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
Feito com ❤️ & 🧠 por Vitor Henckel 👽