Destino Dev

Cursos

Processamento de Filas em Background com BullMQ + Redis + NestJS

Código do curso: github.com/johnpires/filas-background-bullmq-nestjs

Aprenda a construir sistemas robustos de processamento assíncrono usando BullMQ, Redis e NestJS. Implemente filas de jobs, workers, retry automático, dead letter queues e um dashboard de monitoramento completo.

Conteúdo do curso

Módulo 1: Módulo 1 — Introdução e Setup

Visão geral do projeto, configuração do ambiente com NestJS e Redis, e estrutura da arquitetura de filas.

  1. O que vamos construir: Sistema de Filas com BullMQ (3 min)
  2. Configurando o Ambiente: NestJS, Redis e Docker (2 min)
  3. Estrutura do Projeto e Arquitetura de Filas (3 min)

Módulo 2: Módulo 2 — Fundamentos do BullMQ

Criando filas, adicionando jobs, implementando workers e entendendo o ciclo de vida completo de um job.

  1. Criando sua Primeira Fila com BullMQ e NestJS (3 min)
  2. Adicionando Jobs com Opções Avançadas (4 min)
  3. Implementando Workers para Processar Jobs (3 min)
  4. Eventos e Ciclo de Vida de um Job (3 min)

Módulo 3: Módulo 3 — Casos de Uso Reais

Implementação prática de filas para e-mail, processamento de imagens, relatórios PDF e webhooks.

  1. Fila de Envio de E-mails com Nodemailer (3 min)
  2. Processamento de Imagens com Sharp (3 min)
  3. Geração de Relatórios PDF em Background (3 min)
  4. Disparos de Webhooks e Integrações Externas (2 min)
  5. Fila de Notificações Push e SMS (3 min)

Módulo 4: Módulo 4 — Retry, Backoff e Dead Letter Queue

Configurando resiliência: retry automático, backoff exponencial, DLQ e testes unitários para workers.

  1. Retry Automático e Backoff Exponencial (3 min)
  2. Dead Letter Queue: Tratando Jobs que Sempre Falham (3 min)
  3. Logging Estruturado e Tratamento de Erros (3 min)
  4. Testes Unitários para Processors com Jest (3 min)

Módulo 5: Módulo 5 — Filas Avançadas: Prioritização e Cron Jobs

Prioridade de jobs, rate limiting, jobs recorrentes (cron) e encadeamento de fluxos com BullMQ Flow Producer.

  1. Filas com Prioridade de Jobs (3 min)
  2. Rate Limiting e Throttling de Jobs (3 min)
  3. Cron Jobs com BullMQ Repeat (3 min)
  4. Flow Producer: Encadeamento de Jobs (3 min)

Módulo 6: Módulo 6 — Dashboard e Monitoramento

Configurando Bull Board, métricas com Prometheus, alertas de falha e escalabilidade de workers.

  1. Configurando Bull Board: Dashboard Visual (2 min)
  2. Métricas com Prometheus e Grafana (3 min)
  3. Alertas e Notificações de Falha (3 min)
  4. Escalando Workers Horizontalmente (3 min)

Módulo 7: Módulo 7 — Deploy e Conclusão

Deploy com Docker Compose, configuração de produção e próximos passos para evoluir o sistema.

  1. Deploy com Docker Compose: NestJS + Redis (2 min)
  2. Variáveis de Ambiente e Configuração em Produção (3 min)
  3. Próximos Passos e Melhorias do Sistema (3 min)