Node.js Avançado: Arquitetura, Performance e Sistemas Distribuídos
- Nível: Avançado
- Módulos: 8
- Aulas: 13
- Tempo de leitura: 8h 35min
- Tecnologias: Node.js
- Preço: Gratuito
Código do curso: github.com/johnpires/nodejs-avancado-projeto-final
Node.js amadureceu como plataforma e passou a sustentar alguns dos sistemas mais exigentes do mundo. Neste curso avançado, você vai além das APIs REST convencionais e mergulha nos padrões e técnicas que definem aplicações Node.js de classe empresarial: arquitetura de módulos escaláveis, processamento assíncrono com filas, uso eficiente de streams, paralelismo real com Worker Threads, cache estratégico com Redis e monitoramento profissional em produção.
Cada tópico é abordado com foco em problemas reais: como lidar com picos de tráfego, como processar tarefas pesadas sem bloquear o event loop, como garantir resiliência em falhas de terceiros e como diagnosticar gargalos em ambientes de produção. Você estudará os internals do event loop, aprenderá a tirar proveito do cluster mode e integrará ferramentas como BullMQ, ioredis e OpenTelemetry em aplicações NestJS e Express.
Este curso é ideal para desenvolvedores Node.js que já dominam os fundamentos e querem construir sistemas confiáveis, performáticos e prontos para escalar. Ao final, você terá desenvolvido um sistema completo de processamento de pedidos com filas, cache, observabilidade e testes de carga — um projeto de portfólio de alto nível.
O que você vai aprender
Ao final deste curso, você será capaz de:
- Projetar arquiteturas Node.js modulares e escaláveis usando Domain-Driven Design leve
- Utilizar Streams e Buffers para processar volumes massivos de dados sem esgotar memória
- Implementar paralelismo real com Worker Threads e aproveitar múltiplos núcleos de CPU com Cluster
- Configurar e utilizar Redis para cache, rate limiting e armazenamento de sessões
- Criar pipelines de processamento assíncrono com BullMQ, incluindo retry, prioridade e dead-letter queues
- Instrumentar aplicações com OpenTelemetry, métricas Prometheus e dashboards Grafana
- Aplicar técnicas avançadas de segurança: rate limiting adaptativo, circuit breakers e sanitização profunda
- Conduzir testes de carga com k6 e interpretar resultados para otimizar performance
Pré-requisitos
É necessário dominar Node.js intermediário: Express ou NestJS, Prisma ou outro ORM, autenticação JWT, async/await e gerenciamento de dependências com npm. Conhecimento sólido de TypeScript é fortemente recomendado. Familiaridade com Docker para subir Redis e PostgreSQL localmente é essencial — os exemplos do curso utilizam docker-compose. Experiência prévia com deploy em plataformas como Render, Railway ou Heroku facilita o acompanhamento dos módulos de observabilidade e produção.
Conteúdo do curso
Módulo 1: Arquitetura de Aplicações Node.js em Larga Escala
Aprenda a estruturar projetos Node.js complexos com separação de responsabilidades clara, injeção de dependências e princípios de Domain-Driven Design aplicados de forma pragmática.
- O Event Loop em Profundidade: Fases e Armadilhas (35 min)
- Arquitetura Modular com Inversão de Dependência (40 min)
- Gerenciamento Avançado de Erros e Resiliência (35 min)
Módulo 2: Streams e I/O de Alta Performance
Domine a API de Streams do Node.js para processar arquivos gigantes, transformar dados em pipeline e construir sistemas de I/O que escalam sem consumir memória excessiva.
- Fundamentos de Streams: Readable, Writable e Transform (35 min)
- HTTP Streaming e Server-Sent Events (30 min)
Módulo 3: Paralelismo Real: Worker Threads e Cluster
Supere a limitação single-threaded do Node.js para tarefas CPU-intensivas usando Worker Threads, e aproveite múltiplos núcleos de CPU com o módulo Cluster.
- Worker Threads: Verdadeiro Paralelismo para Tarefas CPU-Intensivas (40 min)
Módulo 4: Cache Estratégico com Redis
Implemente camadas de cache que reduzem drasticamente a carga no banco de dados e melhoram o tempo de resposta, usando Redis com estratégias de invalidação, rate limiting e pub/sub.
- Redis como Cache de Aplicação: Padrões e Estratégias (40 min)
Módulo 5: Filas e Processamento Assíncrono com BullMQ
Construa pipelines de processamento assíncrono robustos com BullMQ para email, notificações, relatórios e qualquer tarefa que não precisa responder em tempo real.
- BullMQ: Filas de Jobs Confiáveis com Redis (40 min)
Módulo 6: Observabilidade e Monitoramento em Produção
Instrumente sua aplicação com logs estruturados, métricas Prometheus e rastreamento distribuído para diagnosticar problemas antes que os usuários percebam.
- Logs Estruturados com Pino e Rastreamento com OpenTelemetry (40 min)
Módulo 7: Segurança Avançada em APIs Node.js
Aplique técnicas avançadas de segurança: proteção contra ataques de injeção, sanitização de dados, CSRF, headers de segurança e auditoria de dependências.
- OWASP Top 10 na Prática: Prevenção em APIs Node.js (45 min)
Módulo 8: Projeto Final: API de Processamento de Pedidos com Filas e Cache
Construa do zero uma API de e-commerce de produção com NestJS, integrando todos os conceitos do curso: arquitetura limpa, Redis cache, BullMQ, streaming, observabilidade e segurança.
- Projeto: Estrutura, Domínio e Configuração do Ambiente (45 min)
- Projeto: Serviço de Pedidos com Cache, Fila e Eventos (50 min)
- Projeto: Observabilidade, Testes de Carga e Deploy (40 min)