RabbitMQ é um sistema de
mensageria de código aberto utilizado para facilitar a comunicação e o
compartilhamento de dados entre aplicativos e componentes distribuídos.
Ele funciona como um intermediário de mensagens, permitindo que os
produtores enviem mensagens para filas e os consumidores as recebam e
processem. O RabbitMQ oferece uma arquitetura flexível baseada no padrão
AMQP (Advanced Message Queuing Protocol), suportando diversos modelos
de mensagens, como fila de mensagens, troca direta, troca de tópicos e
troca de cabeçalhos. Ele garante a entrega confiável das mensagens, lida
com filas de espera e suporta a escalabilidade horizontal para lidar
com cargas de trabalho intensivas. O RabbitMQ é especialmente adotado em
ambientes distribuídos, microserviços, sistemas de processamento
assíncrono, integração de aplicativos e notificações em tempo real,
fornecendo uma solução confiável e flexível para troca de mensagens
entre componentes de um sistema.
Como monitorar RabbitMQ na One Platform
Para configurar um monitoramento
de RabbitMQ na plataforma, vá até a aplicação do produto em que deseja
adicionar a Queue como dependência. Clique no menu produtos, clique no
card do produto desejado e, depois, clique no nome da aplicação
desejada.
Em External Dependencies,
localizado logo abaixo do gráfico de latência, você pode adicionar ou
buscar uma dependência já cadastrada. Para procurar uma dependência,
digite o nome da mesma no campo de busca. Já para adicionar uma nova,
clique no botão verde com um símbolo de mais (+).
Ao clicar em adicionar, um modal
irá aparecer. Nele você irá nomear a sua fila e escolher o Enviroment.
No campo do Check type, escolha a opção Queue e no Method, escolha
RabbitMQ. Após escolher o método, um campo para Healthcheck URL
aparecerá.
Confira abaixo o exemplo de string para o RabbitMQ.
ex: amqp://USER:PASSWORD@HOST:PORT/VIRTUAL-HOST
Caso a conexão use SSL, a string ficará assim:
ex: amqps://USER:PASSWORD@HOST:PORT/VIRTUAL-HOST
Obs.: Por motivos de segurança, não é permitido inserir um IP no
campo de healthcheck. Para monitorar um IP, é necessário inserí-lo em
uma secret e usá-la no healthcheck