Pular para conteúdo

Aula 01 - Introdução a Microsserviços 🌐

De Monólitos a Sistemas Distribuídos


Agenda de Hoje 📅

  1. Panorama do Software Moderno
  2. Monólitos vs Microsserviços
  3. A Economia das APIs
  4. Escalabilidade Vertical vs Horizontal
  5. Cinto de Utilidades (Ferramentas)
  6. Setup do Ambiente

1. O Mundo Cloud-Native ☁️

  • Sistemas globais exigem disponibilidade 24/7.
  • Milhões de requisições por segundo.
  • Deploy contínuo (várias vezes ao dia).

2. A Evolução da Arquitetura 🏛️➡️🏗️


2.1 O Monólito 🏛️

  • Um único projeto, um único deploy.
  • Tudo ou nada: erro em um lugar afeta tudo.
  • Difícil de escalar partes específicas.
  • Ideal para: Projetos pequenos, MVPs rápidos.

2.2 Microsserviços 🏗️

  • Conjunto de serviços independentes.
  • Comunicação via rede (APIs).
  • Cada um com seu banco de dados.
  • Ideal para: Sistemas complexos e escaláveis.

3. O Papel das APIs 📡

  • Contract-First: Acordo de comunicação.
  • REST como padrão dominante.
  • JSON: A língua universal.

Escalabilidade: Vertical vs Horizontal

Vertical (Scale Up) Horizontal (Scale Out)
Aumenta CPU/RAM Adiciona mais servidores
Tem limite físico Virtualmente ilimitada
Causa downtime no upgrade Zero downtime (Redundância)

Arquitetura de Microsserviços

graph LR
    User[Cliente] --> AGW[API Gateway]
    AGW --> S1[Usuários]
    AGW --> S2[Pedidos]
    AGW --> S3[Pagamentos]
    S1 --> DB1[(DB)]
    S2 --> DB2[(DB)]
    S3 --> DB3[(DB)]

4. Ferramentas Indispensáveis 🛠️


Client HTTP: Postman & Insomnia

  • Testar rotas sem Frontend.
  • Analisar Headers e Status Codes.
  • Simular diferentes cenários de erro.

Containerização: Docker 🐋

  • "Roda na minha máquina, roda em qualquer lugar".
  • Isola dependências e versões.
  • Facilita a subida de múltiplos serviços locais.

5. Estrutura de Projeto Backend 📂

  • Divisão clara de responsabilidades.
  • Controllers, Services e Repositories.
  • Tratamento global de exceções.

6. Setup do Ambiente 🚀


Requisitos:

  • IDE: VS Code ou IntelliJ.
  • Postman (Desktop ou Extensão).
  • Docker Desktop.
  • Git & GitHub.

Resumo da Aula ✅

  • Microsserviços trazem resiliência e escala.
  • APIs são o coração da comunicação moderna.
  • Ferramentas como Docker mudaram o jogo.
  • Começamos nossa jornada Fullstack!

Próxima Aula: Arquitetura e Gateway 🏗️

  • Como os serviços conversam?
  • O que é Service Discovery?
  • Protegendo a porta de entrada.

Dúvidas? 🤔

"A arquitetura de hoje é o legado de amanhã. Escolha com sabedoria."