AMQP - Instalação do cliente e do broker RabbitMQ

Este post faz parte da série AMQP. Leia também os outros posts da série:

Assim como (ou ainda mais que) o MQTT (ou outros protocolos de comunicação), o AMQP possui uma série de especificações, opções de configuração e conceitos básicos relativos ao funcionamento do protocolo. Mas como este é um artigo introdutório e nosso principal objetivo é explorar as principais funcionalidades do AMQP, faremos isto colocando a mão na massa! Para isso, instalaremos um broker AMQP em nossa máquina e faremos a comunicação entre dois clientes. Apresento-lhes o RabbitMQ!

 

 

O que é o RabbitMQ?

 

“RabbitMQ is the most popular open source message broker” - ou, em bom Português, o RabbitMQ afirma ser o broker open source mais popular em todo o mundo. É uma aplicação aberta que se destina à comunicação assíncrona e, para isso, oferece suporte nativo ao protocolo AMQP 0-9-1 (não se engane, ele oferece também suporte a outros protocolos, incluindo o AMQP 1.0 e o MQTT). Além disso, pode ser executado em diversos sistemas operacionais, bem como possui ferramentas para desenvolvedores escritas em diversas linguagens de programação.

 

 

Instalação

 

Em nosso artigo introdutório, utilizaremos um computador como broker - ou seja, como nosso servidor de mensagens - e utilizaremos o mesmo computador como cliente (publisher/consumer). Primeiramente, instalaremos o RabbitMQ em nosso computador com o Ubuntu 16.04.4 como sistema operacional. A seguir, disponibilizamos uma máquina virtual com o Ubuntu 16.04.4 “em branco” para acompanharem o tutorial (não se preocupem, ao final disponibilizaremos outra VM com o ambiente instalado para testes diversos). Importe-as com o VirtualBox:

VM "em branco" com Ubuntu 16.04.4

 

Dependências

 

Como qualquer programa, o RabbitMQ depende de outros softwares e suítes para o correto funcionamento. Assim, primeiramente instalaremos estas dependências.

 

Erlang

 

O Rabbit é escrito na linguagem Erlang, portanto, sua principal dependência é o pacote de runtime do Erlang. Para instalar (ou atualizar) o Erlang, navegue até a pasta /tmp e, em seguida, baixe o arquivo do pacote dos repositórios Erlang:

 

A seguir, atualize o cache do repositório e instale o pacote esl-erlang:

 

As Figuras a seguir, de 1 a 3, exibem as telas com os comandos executados:

 

Download do Pacote do Repositório do Erlang e Instalação.
Figura 1 - Download do Pacote do Repositório do Erlang e Instalação.
Término da Instalação do Repositório do Erlang e Atualização do Cache.
Figura 2 - Término da Instalação do Repositório do Erlang e Atualização do Cache.
Instalação do Pacote esl-erlang.
Figura 3 - Instalação do Pacote esl-erlang.

 

Instalando o RabbitMQ Server

 

Uma vez instalado o Erlang, podemos instalar agora o RabbitMQ propriamente dito. Semelhante ao Erlang, precisamos primeiramente adicionar o repositório do RabbitMQ à lista de repositórios do sistema juntamente com a chave pública para validação e, após atualizar o cache dos repositórios, instalamos o RabbitMQ:

 

 

As Figuras 4 e 5 ilustram este processo no Ubuntu 16.04 (Xenial).

 

Adição do Repositório do RabbitMQ e Chave Pública e Atualização do Cache de Repositórios.
Figura 4 - Adição do Repositório do RabbitMQ e Chave Pública e Atualização do Cache de Repositórios.
Atualização do Cache de Repositórios e Instalação do Pacote do RabbitMQ.
Figura 5 - Atualização do Cache de Repositórios e Instalação do Pacote do RabbitMQ.

 

Testando a Instalação do RabbitMQ Server

 

Finalmente, é possível testar a instalação do RabbitMQ Server. A Figura 6 a seguir exibe o estado do serviço do RabbitMQ Server:

 

Exibição do Estado do Serviço do RabbitMQ Server.
Figura 6 - Exibição do Estado do Serviço do RabbitMQ Server.

 

Habilitando a Interface de Gerenciamento (Management UI)

 

Embora todas as configurações do broker sejam acessíveis através de comandos específicos, o RabbitMQ conta com uma interface de gerenciamento gráfica que facilita bastante a sua configuração, visualização e operação do broker. Para habilitá-la:

 

Habilitando a Interface de Gerenciamento do RabbitMQ.
Figura 7 - Habilitando a Interface de Gerenciamento do RabbitMQ.

 

Uma vez habilitada a interface gráfica de gerenciamento do RabbitMQ, é possível acessá-la através do navegador pelo endereço localhost:15672. A Figura 8 a seguir exibe o acesso à interface de gerenciamento. É necessário um usuário do RabbitMQ para acessá-la e, por padrão, é possível utilizar o usuário “guest”, com a senha sendo também “guest”. Note que este usuário é usuário padrão e que somente clientes locais poderão utilizá-lo.

 

Acessando a Interface de Gerenciamento do RabbitMQ através do Navegador.
Figura 8 - Acessando a Interface de Gerenciamento do RabbitMQ através do Navegador.

 

Uma vez “logado” na interface, é possível acessar as diversas opções de visualização, monitoramento e gerenciamento do RabbitMQ, tal como exibe a Figura 9.

 

Visão Geral da Interface de Gerenciamento do RabbitMQ.
Figura 9 - Visão Geral da Interface de Gerenciamento do RabbitMQ.

 

No próximo artigo vamos realizar a comunicação entre o cliente e o broker. Aguarde!

 

 

Saiba mais

 

MQTT-SN: MQTT para rede de sensores

Conectando-se ao DeviceHub com NodeMCU e MQTT

Modelos de comunicação para IoT

Outros artigos da série

<< AMQP - Protocolo de Comunicação para IoTAMQP - Testando a Comunicação de Clientes ao Broker >>
Este post faz da série AMQP. Leia também os outros posts da série:
NEWSLETTER

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

Obrigado! Sua inscrição foi um sucesso.

Ops, algo deu errado. Por favor tente novamente.

Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.

Tiago Medicci Serrano
Apaixonado por tecnologia! Plaquinhas, embarcados, clouds, IoT, comunidades e ensino: tudo isso faz parte do meu dia-a-dia, do trabalho às horas de lazer. Atualmente desenvolvo soluções inteligentes para o setor elétrico, SmartGrid e IoT na Time Energy, em Campinas.

Deixe um comentário

avatar
 
  Notificações  
Notificar