Ir para o conteúdo principal

Como Disponibilizar o RabbitMQ para múltiplos consumos

Data: 07/02/23

Autores:
1.João Batista da Silva Junior (Assessor)
2.Michel Farias Ferreira (Assessor)

_________________________________________________________________________________________________________________________________________

 

1. OBJETIVO

Esse documento tem como intuito aprofundar o conhecimento na ferramenta RabbitMQ, assim como encontrar uma forma de disponibilizar a ferramenta no ambiente DevOps da SETIC de uma forma ela possui múltiplos consumos.

 

2. INTRODUÇÃO

Fez-se necessário realizar o estudo por entender que seria de grande valia para o ambiente de desenvolvimento da SETIC o disponibilização da ferramenta RabbitMQ para múltiplos consumos. Que por sua vez poderia ser utilizada em diversos projetos por inúmeras secretarias.

 

3. DESENVOLVIMENTO

O RabbitMQ é uma plataforma de mensagens de código aberto que fornece uma maneira confiável e escalável de trocar informações entre aplicações. Ele funciona como um intermediário entre as aplicações que querem trocar informações (produtores) e aquelas que desejam recebê-las (consumidores).

3.1 Como o RabbitMQ funciona em uma visão geral?

Produtores enviam mensagens para o RabbitMQ, que as coloca em uma ou mais filas.

O RabbitMQ usa regras de roteamento de mensagens para determinar em quais filas as mensagens devem ser colocadas.

Consumidores se conectam ao RabbitMQ e solicitam mensagens das filas apropriadas.

O RabbitMQ então entrega as mensagens aos consumidores.

Quando um consumidor processa uma mensagem, ele a marca como concluída e a remove da fila.

O RabbitMQ oferece recursos avançados, como confirmação de entrega de mensagens, garantia de entrega em ordem, suporte a múltiplos protocolos e ferramentas de gerenciamento e monitoramento. Ele é altamente escalável e pode lidar com cargas de trabalho pesadas, tornando-se uma escolha popular para aplicações de larga escala que precisam trocar informações em tempo real.


3.2 Para disponibilizar o RabbitMQ para múltiplos consumos, siga estes passos:

Configuração do servidor RabbitMQ: Instale e configure o RabbitMQ em um servidor dedicado, garantindo que ele tenha recursos suficientes para lidar com o tráfego de múltiplos consumidores.

Criação de exchanges: Crie exchanges no RabbitMQ para gerenciar o roteamento de mensagens. As exchanges podem ser de vários tipos, como direct, fanout e topic, dependendo das necessidades de sua aplicação.

Configuração de filas: Crie filas para armazenar as mensagens enviadas aos consumidores. As filas devem ser configuradas de acordo com as necessidades de sua aplicação, incluindo políticas de retenção de mensagens, prioridades e tamanhos máximos.

Configuração de bindings: Configure bindings entre as exchanges e as filas para determinar como as mensagens são roteadas aos consumidores.

Autenticação e autorização: Configure a autenticação e autorização para controlar quem tem acesso ao RabbitMQ.

Configuração de consumidores: Configure cada consumidor para se conectar ao RabbitMQ e receber mensagens das filas apropriadas.

Monitoramento e gerenciamento: Monitore o RabbitMQ para garantir que ele esteja funcionando corretamente e faça o gerenciamento necessário, incluindo backup e recuperação de dados, manutenção do servidor e solução de problemas.


Lembre-se de que o RabbitMQ é altamente escalável e pode lidar com múltiplos consumidores, mas é importante configurá-lo corretamente e monitorá-lo de perto para garantir sua disponibilidade e desempenho.


3.3 Diagrama

Um diagrama básico mostrando como o RabbitMQ pode ser disponibilizado para múltiplos consumos:

  • Produtores enviam mensagens para o RabbitMQ, que as armazena em filas.
  • O RabbitMQ usa regras de roteamento de mensagens para determinar em quais filas as mensagens devem ser colocadas.
  • Consumidores se conectam ao RabbitMQ e solicitam mensagens das filas apropriadas.
  • O RabbitMQ então entrega as mensagens aos consumidores.
  • Quando um consumidor processa uma mensagem, ele a marca como concluída e a remove da fila.

Isso é apenas um exemplo básico. O RabbitMQ é altamente personalizável e pode ser configurado de muitas maneiras diferentes, dependendo das necessidades de sua aplicação.

 

3.4 Vantagens em utilizar o RabbitMQ

Aqui estão algumas das principais vantagens do RabbitMQ:

Escalabilidade: o RabbitMQ é altamente escalável, o que significa que ele pode lidar com cargas de trabalho pesadas e fornecer alta disponibilidade para aplicações de larga escala.

Confiabilidade: o RabbitMQ fornece recursos como confirmação de entrega de mensagens e garantia de entrega em ordem, o que torna possível garantir a integridade das mensagens trocadas entre as aplicações.

Flexibilidade: o RabbitMQ suporta múltiplos protocolos, o que significa que ele pode ser usado com uma ampla variedade de tecnologias e plataformas.

Ferramentas de gerenciamento: o RabbitMQ oferece uma ampla gama de ferramentas de gerenciamento e monitoramento, incluindo uma interface web, que ajudam os administradores a garantir o correto funcionamento do sistema.

Integração fácil: o RabbitMQ é fácil de integrar com outras tecnologias, o que significa que ele pode ser usado como uma solução central para muitos sistemas distintos.

Comunidade ativa: o RabbitMQ tem uma comunidade ativa e crescente de desenvolvedores e usuários, o que significa que há muitos recursos e suporte disponíveis para ajudar os usuários a obter o máximo do sistema.

 

4. CONCLUSÃO

De acordo com a necessidade que no ambiente de desenvolvimento e produção além de outras secretarias têm na utilização de ferramentas já disponibilizadas no ambiente da SETIC, além de novas ferramentas na nossa infraestrutura estável e consolidada, A disponibilização de um sistema de mensageria principal para todos os projetos.

O RabbitMQ, se mostra de certa forma viável para a SETIC. Esse estudo nos trouxe uma análise de como isso pode ser realizado. As próximas etapas serão de testes e implantação.

 

5. Referência

Documentação oficial

https://www.rabbitmq.com/documentation.html