Plataforma de Orquestração de Automações & Gestão de Rotinas
Backend corporativo em NestJS com mensageria e controle de ciclo de vida de bots.
Arquitetura modular em NestJS e TypeScript integrada a RabbitMQ e Redis para agendamento, disparo assíncrono, relatórios e observabilidade de robôs corporativos.
Agendador e Controllers
Filas & Buffers Assíncronos
Processamento dos Robôs
Cache rápido e auditoria
Diagnóstico & Engenharia da Solução
Detalhamento de problemas, objetivos, arquitetura, decisões técnicas e aprendizados consolidados.
1. O Problema Identificado
Cenário e gargalos anteriores:
Ausência de visibilidade centralizada sobre a execução de automações. Rotinas eram executadas de forma dispersa, dificultando identificar se um robô falhou, se completou com sucesso ou se travou em loop, além da falta de relatórios unificados para tomada de decisão.
2. O Objetivo Técnico
Meta e requisitos da solução:
Centralizar em um portal seguro o agendamento de tarefas, controle rigoroso de estados de execução (Pendente, Em Execução, Sucesso, Falha), geração de relatórios consolidados e orquestração assíncrona de workers.
3. Estrutura da Solução
Construção de uma API backend modular em NestJS e TypeScript. O agendamento dispara mensagens no RabbitMQ para distribuição assíncrona entre workers especializados em Python. O Redis gerencia estados em memória e locks de concorrência, enquanto o PostgreSQL mantém o histórico transacional auditável.
4. Decisões Técnicas Relevantes & Trade-offs
Arquitetura Modular NestJS
Permitiu isolar completamente os domínios de agendamento, comunicação com workers e relatórios, facilitando manutenções e testes independentes.
Desacoplamento via Mensageria
O uso de filas evitou bloqueios na API durante execuções pesadas de robôs, garantindo alta disponibilidade da interface administrativa.
Redis para Estados em Tempo Real
Consultas contínuas de status operacional leem dados de memória do Redis com latência ínfima, aliviando o banco relacional principal.
5. Desafios & Aprendizados
- •Coordenação de robôs com tempos de execução heterogêneos sem sobrecarregar a memória do cluster.
- •Aprendizado aprofundado na modelagem de sistemas orientados a eventos e na garantia de idempotência para evitar execuções duplicadas.
Minha Contribuição Específica
Papel técnico e entregas diretas:
Desenvolvimento de módulos de negócio em NestJS, modelagem das entidades relacionais, integração da mensageria com RabbitMQ e criação de endpoints para relatórios operacionais.