RabbitMQ
A Evolution API permite a integração com o RabbitMQ para gerenciar eventos e filas de mensagens, facilitando a comunicação e processamento de tarefas de forma eficiente e escalável. A seguir, você encontrará informações sobre como configurar o RabbitMQ tanto em modo global quanto em instâncias individuais.
Configuração Global do RabbitMQ
Com a nova configuração global, é possível centralizar o processamento de eventos em filas unificadas, em vez de configurar filas separadas para cada instância. Isso simplifica a gestão de eventos, pois todos os eventos do sistema passam por filas específicas de acordo com o tipo de evento.
Configuração de Variáveis de Ambiente
Aqui estão as variáveis de ambiente necessárias para habilitar e configurar o RabbitMQ em modo global:
Eventos Configuráveis
Com o modo global habilitado (RABBITMQ_GLOBAL_ENABLED=true
), todos os eventos são enfileirados em filas específicas por tipo de evento, em vez de por instância. Aqui está a lista de eventos que você pode ativar globalmente:
Funcionamento
- Fila por Evento: No modo global, os eventos são enfileirados em filas específicas para cada tipo de evento. Por exemplo, todos os eventos de atualização de mensagens (
MESSAGES_UPDATE
) serão enfileirados na mesma fila, independentemente da instância de origem. - Facilidade de Gerenciamento: Essa abordagem facilita o gerenciamento e monitoramento dos eventos, permitindo uma centralização das operações e simplificando a lógica de consumo de mensagens no seu sistema.
Configuração do RabbitMQ para Instâncias Individuais
Embora a configuração global seja recomendada para centralizar o processamento de eventos, ainda é possível configurar o RabbitMQ para instâncias individuais, caso haja necessidade de segmentação por instância.
Endpoint para Configuração Individual
Para configurar o RabbitMQ para uma instância específica do WhatsApp na Evolution API, utilize o seguinte endpoint:
Corpo da Requisição
Aqui está um exemplo do corpo JSON para configurar eventos em uma instância específica:
Remova eventos não utilizados para otimizar o uso de recursos do RabbitMQ.
Ao configurar a integração com o RabbitMQ para instâncias individuais, ajuste o array de eventos no corpo JSON para incluir apenas os eventos relevantes para aquela instância.
Considerações Finais
A configuração do RabbitMQ na Evolution API oferece flexibilidade para gerenciar eventos de forma centralizada com a configuração global, ou de forma segmentada por instância, dependendo das necessidades do seu sistema. Utilize a configuração global para simplificar a gestão de eventos em ambientes complexos, ou configure individualmente para controle mais granular.
Para mais detalhes sobre as variáveis de ambiente do RabbitMQ e outras configurações avançadas, consulte a seção de variáveis de ambiente.