Destino Dev

Cursos

NestJS Avançado: Microsserviços, Performance e Arquitetura Enterprise

Código do curso: github.com/johnpires/nestjs-avancado-projeto-final

NestJS é hoje o framework Node.js mais adotado em arquiteturas enterprise. Sua combinação de TypeScript nativo, injeção de dependências robusta e suporte a múltiplos transportes de comunicação o torna a escolha ideal para sistemas distribuídos, de alta performance e fáceis de manter. Neste curso avançado, você vai além dos CRUDs e APIs simples para mergulhar nos recursos que definem aplicações de produção reais.

Você aprenderá a implementar o padrão CQRS com Command e Query Bus, separando responsabilidades de leitura e escrita. Construirá microsserviços que se comunicam via TCP, Redis e RabbitMQ, com descoberta de serviços e tratamento de falhas. Dominará WebSockets com rooms e autenticação, filas assíncronas com BullMQ para processamento de background, cache distribuído com Redis, e estratégias avançadas de segurança com throttling, helmet e refresh tokens rotativos.

Ao concluir este curso, você terá construído uma API de e-commerce baseada em microsserviços com todos esses padrões integrados, testes E2E automatizados e pipeline de deploy com Docker e GitHub Actions. Estará preparado para projetar e liderar o desenvolvimento de sistemas backend enterprise com NestJS.

O que você vai aprender

Ao final deste curso, você será capaz de:

Pré-requisitos

É obrigatório ter concluído o curso NestJS Intermediário ou possuir experiência equivalente: saber criar módulos, controllers e services, integrar Prisma ORM, implementar autenticação JWT com Guards, e escrever testes unitários com Jest. Familiaridade com Docker e conceitos básicos de bancos de dados NoSQL (Redis) é recomendada. Node.js 20+ e Docker Desktop devem estar instalados na máquina.

Conteúdo do curso

Módulo 1: Arquitetura CQRS com NestJS

Aprenda o padrão Command Query Responsibility Segregation para separar operações de leitura e escrita, usando Command Bus, Query Bus e Event Bus do pacote @nestjs/cqrs.

  1. Introdução ao CQRS: Conceitos e Motivações (25 min)
  2. Implementando Commands e Command Handlers (30 min)
  3. Queries, Query Handlers e Leituras Otimizadas (30 min)
  4. Event Bus e Domain Events no CQRS (25 min)

Módulo 2: Microsserviços com NestJS

Construa microsserviços que se comunicam via TCP, Redis e RabbitMQ. Aprenda padrões de mensageria, descoberta de serviços e tratamento de falhas em sistemas distribuídos.

  1. Fundamentos de Microsserviços no NestJS (30 min)
  2. Comunicação Assíncrona com Redis e RabbitMQ (35 min)
  3. Padrão API Gateway com NestJS (30 min)

Módulo 3: Cache, Performance e Otimização

Implemente cache distribuído com Redis, aprenda estratégias de invalidação, compressão de resposta e otimizações de banco de dados para alta performance.

  1. Cache Distribuído com Redis e CacheManager (30 min)
  2. Rate Limiting e Throttling Avançado (25 min)
  3. Otimização de Queries com Prisma (30 min)

Módulo 4: WebSockets e Comunicação em Tempo Real

Implemente comunicação bidirecional em tempo real com WebSockets usando @nestjs/websockets e Socket.io, com autenticação, rooms e broadcast.

  1. WebSockets com NestJS e Socket.io (30 min)
  2. Notificações em Tempo Real e Integração com CQRS (25 min)

Módulo 5: Filas de Processamento com BullMQ

Implemente processamento assíncrono e em background com BullMQ e Redis: filas de jobs, workers, retry automático, prioridade e monitoramento com Bull Board.

  1. Introdução ao BullMQ e Processamento em Background (30 min)
  2. Padrões Avançados com BullMQ: Concorrência, Prioridade e Jobs Recorrentes (25 min)

Módulo 6: Testes Avançados: Integração e E2E

Escreva testes de integração e End-to-End completos com Jest e Supertest, cobrindo autenticação, fluxos de negócio e casos de erro em um ambiente realístico.

  1. Testes de Integração com Banco de Dados Real (35 min)
  2. Testes E2E com Supertest e Autenticação (35 min)

Módulo 7: Segurança Avançada no NestJS

Implemente refresh token rotation, blacklist de tokens com Redis, helmet, CORS fine-tuned e proteções contra ataques comuns em APIs de produção.

  1. Refresh Token Rotation e Blacklist com Redis (35 min)
  2. Helmet, CORS Avançado e Proteções HTTP (25 min)

Módulo 8: Docker, CI/CD e Deploy em Produção

Crie imagens Docker multi-stage otimizadas para NestJS, configure health checks, e implemente pipelines CI/CD com GitHub Actions para deploy automático.

  1. Docker Multi-Stage para NestJS em Produção (30 min)
  2. Pipeline CI/CD com GitHub Actions (30 min)

Módulo 9: Projeto Final: API de E-commerce com Microsserviços

Construa uma API completa de e-commerce aplicando todos os conceitos do curso: CQRS, microsserviços, WebSockets, filas, cache e testes E2E.

  1. Arquitetura e Setup do Projeto E-commerce (40 min)
  2. Implementando o Products Service com CQRS e Cache (40 min)
  3. Orders Service com Filas e Notificações em Tempo Real (40 min)
  4. Testes E2E e Observabilidade do Sistema Completo (35 min)