EvolutionAPI multi-instância
Como rodar múltiplos números WhatsApp na mesma instalação da EvolutionAPI — limites, isolamento e escala horizontal.
A EvolutionAPI suporta múltiplas instâncias (números) na mesma instalação. Cada instância é um número WhatsApp pareado, com sessão e webhooks isolados.
Como funciona
Cada instância é identificada por um instanceName. As rotas da API ficam:
POST /message/sendText/{instanceName}
GET /chat/whatsappNumbers/{instanceName}
GET /instance/connectionState/{instanceName}
A sessão de cada número é persistida em Postgres ou Redis (configurável via DATABASE_PROVIDER).
Criar nova instância
curl -X POST https://sua-evolution.rollinhost.com.br/instance/create \
-H "apikey: SUA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"instanceName": "vendas",
"qrcode": true,
"integration": "WHATSAPP-BAILEYS",
"webhook": {
"url": "https://n8n.exemplo.com/webhook/vendas-in",
"events": ["MESSAGES_UPSERT"]
}
}'
A resposta inclui o qrcode.base64 para parear.
Limites práticos
| Recurso | Por instância | 5 instâncias | 20 instâncias |
|---|---|---|---|
| RAM | ~400 MB | ~2 GB | ~8 GB |
| CPU (idle) | ~2% | ~10% | ~40% |
| CPU (em pico) | ~30% | varia | requer 8+ vCPU |
| Banco | ~50 MB/mês | ~250 MB | ~1 GB |
Escala horizontal
Para >50 instâncias, replique a EvolutionAPI em múltiplos servidores e use um router por instanceName:
┌─ evo-1.rollinhost.com.br (instâncias A-F)
NGINX/Traefik ──┼─ evo-2.rollinhost.com.br (instâncias G-M)
└─ evo-3.rollinhost.com.br (instâncias N-Z)
O Postgres pode ser compartilhado entre os nós (cuidado com pool de conexões).
Banimento e boas práticas
- Mantenha proporção orgânica entre enviadas e recebidas (evite só dispar)
- Aqueça números novos: comece com 50 msgs/dia, dobre por semana
- Use delay aleatório entre mensagens (1-3s) — não dispare em rajada
Próximos passos
Última atualização: