Melhorando a performance de APIs baseadas em WhatsApp Web com Go (Open Source)
Olá, pessoal!
Gostaria de compartilhar um projeto que desenvolvi para melhorar a performance e a latência em fluxos de automação (como n8n e Typebot) integrados ao WhatsApp Web.
Muitas soluções atuais são baseadas em Node.js. Embora excelentes, elas podem ser pesadas para VPS de entrada (512MB/1GB RAM) quando precisamos escalar para múltiplas instâncias.
Construí a apime utilizando Go e a biblioteca whatsmeow. O objetivo foi criar uma camada de orquestração que permita estabilidade mesmo em infraestruturas mais limitadas.
Principais decisões técnicas da arquitetura:
Performance: Binário compilado em Go, garantindo execução nativa e baixo overhead.
Protocolo: Implementação baseada no protocolo web (não oficial) via whatsmeow, visando automações de baixo custo.
Persistência e Cache: Uso de Postgres para dados relacionais e Redis para gerenciamento de estado e filas, garantindo que as sessões não caiam em reboots.
Dashboard Integrado: Interface minimalista para gerenciamento de instâncias e pareamento via QR Code sem necessidade de terminal.
Webhooks: Fluxo de eventos pronto para integração direta com ferramentas de workflow.
O projeto é 100% Open Source e focado em quem precisa de uma solução self-hosted leve para iniciar testes e estudar o funcionamento de automações.
Repositório no GitHub: https://github.com/open-apime/apime
Gostaria de saber da comunidade: alguém aqui utiliza Go para microsserviços de mensageria? Como tem sido a experiência de vocês em comparação a outras stacks?