Visão Geral
O Curso Construindo Microsservicos com Node JS, capacita os alunos com habilidades essenciais para projetar, desenvolver e implantar microsserviços escaláveis usando Node.js, enfatizando práticas e ferramentas de desenvolvimento modernas.
Publico Alvo
Apresentando o Curso Construindo Microsserviços com Node JS, projetado para profissionais de TI que desejam aprimorar suas habilidades na construção de microsserviços escaláveis usando Node.js para desenvolvimento de aplicativos modernos.
- Desenvolvedores de software
- Desenvolvedores de Backend
- Desenvolvedores Full Stack
- Engenheiros de DevOps
- Engenheiros de Nuvem
- Arquitetos Técnicos
- Arquitetos de Sistemas
- Consultores de TI
- Gerentes de Projeto
- Líderes de equipe de tecnologia
- Engenheiros de Dados
- Desenvolvedores de aplicativos
- Estudantes em áreas relacionadas a TI
- Engenheiros de QA/Teste
- Praticantes Ágeis
Conteúdo Programatico
NodeJS Essentials and Runtime Fundamentals
- Introduction to NodeJS
- Understanding the NodeJS runtime and event loop
- Using the REPL and running JS scripts with Node
- Understanding Modules: CommonJS and ES Modules
- Intro to package.json and npm
- Basic HTTP server with built-in modules
- Writing and executing asynchronous code (callback, promise, async/await)
- File system, path, and OS modules
- Debugging Node applications
- Hands-on: Build a simple server that serves JSON
ExpressJS Fundamentals
- Introduction to ExpressJS
- Creating RESTful APIs
- Request/response lifecycle
- Middleware and route handling
- Error handling strategies
Introduction to Microservices Architecture
- Monolith vs Microservices
- Benefits and challenges
- 12-Factor App methodology
- Service decomposition strategies
- Bounded contexts and DDD overview
Module 4: Building Microservices with Express
- Creating modular, independent services
- Connecting each service with MongoDB or PostgreSQL
- Environment management and .env files
- Input validation (e.g. using Joi or Zod)
- Structuring service folders (controller/service/repo)
API Documentation & Testing
- OpenAPI/Swagger basics
- API documentation tools (e.g., Swagger UI, Redoc)
- Unit testing with Mocha/Chai or Jest
- Integration testing with Supertest
- Mocking and test doubles
Inter-Service Communication
- REST-based service calls
- Using Axios or Fetch within Node
- Service discovery concepts (e.g., custom registry or Consul basics)
- Asynchronous communication: Introduction to RabbitMQ / Kafka
- Event-driven design principles
Securing Microservices
- Introduction to API security
- Role-based access control (RBAC)
- Authentication with JWT
- OAuth2 overview
- CORS and HTTPS setup
Observability – Logging, Monitoring, Tracing
- Structured logging with Winston/Bunyan
- Error tracking & correlation IDs
- Distributed tracing with OpenTelemetry
- Monitoring with Prometheus and Grafana (Node exporters)
- Log aggregation overview (e.g., ELK stack)
API Gateway & Rate Limiting
- Role of API Gateway
- Using Express Gateway or NGINX
- Path-based routing, load balancing
- Rate limiting and throttling with middleware (e.g., express-rate-limit)
- Circuit breakers with opossum or integration with Resilience libraries
Containerization & Deployment
- Dockerizing NodeJS microservices
- Docker Compose for multi-service orchestration
- CI/CD pipelines (GitHub Actions / Jenkins)
- Kubernetes basics and deploying containers
- Deployment strategies: Blue/Green, Canary