NestJS Avançado: Microsserviços, Performance e Arquitetura Enterprise
- Nível: Avançado
- Módulos: 9
- Aulas: 24
- Tempo de leitura: 12h 25min
- Tecnologias: NestJS, Node.js, TypeScript
- Preço: Gratuito
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:
- Implementar o padrão CQRS com Command Bus, Query Bus e Event Bus em aplicações NestJS de grande escala
- Construir microsserviços NestJS que se comunicam via TCP, Redis Pub/Sub e RabbitMQ com tratamento de falhas
- Configurar WebSockets com Socket.io, rooms, autenticação por token e eventos em tempo real
- Implementar filas de processamento assíncrono com BullMQ, workers, retries e monitoramento via Bull Board
- Aplicar cache distribuído com Redis usando CacheManager e estratégias TTL, invalidação e cache-aside
- Escrever testes de integração e E2E completos com Supertest, cobrindo autenticação, fluxos de negócio e casos de erro
- Configurar segurança avançada: rate limiting por IP/usuário, helmet, CSRF, refresh token rotation e blacklist de tokens
- Criar imagens Docker multi-stage otimizadas e pipelines CI/CD com GitHub Actions para deploy em produção
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.
- Introdução ao CQRS: Conceitos e Motivações (25 min)
- Implementando Commands e Command Handlers (30 min)
- Queries, Query Handlers e Leituras Otimizadas (30 min)
- 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.
- Fundamentos de Microsserviços no NestJS (30 min)
- Comunicação Assíncrona com Redis e RabbitMQ (35 min)
- 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.
- Cache Distribuído com Redis e CacheManager (30 min)
- Rate Limiting e Throttling Avançado (25 min)
- 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.
- WebSockets com NestJS e Socket.io (30 min)
- 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.
- Introdução ao BullMQ e Processamento em Background (30 min)
- 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.
- Testes de Integração com Banco de Dados Real (35 min)
- 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.
- Refresh Token Rotation e Blacklist com Redis (35 min)
- 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.
- Docker Multi-Stage para NestJS em Produção (30 min)
- 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.
- Arquitetura e Setup do Projeto E-commerce (40 min)
- Implementando o Products Service com CQRS e Cache (40 min)
- Orders Service com Filas e Notificações em Tempo Real (40 min)
- Testes E2E e Observabilidade do Sistema Completo (35 min)