Pular para conteúdo

Aula 02 - Arquitetura e Gateway 🏗️

Orquestrando Microsserviços


Agenda 📅

  1. Comunicação entre Serviços
  2. Síncrono vs Assíncrono
  3. O Papel do API Gateway
  4. Service Discovery
  5. Load Balancing
  6. Padrões de Resiliência

1. Como os Serviços Conversam? 💬

  • Microsserviços são ilhas que precisam de pontes.
  • Dois mundos: Sync e Async.

1.1 Comunicação Síncrona 🔄

  • Cliente bloqueia até a resposta.
  • Uso de HTTP/REST ou gRPC.
  • Risco: Acoplamento temporal e gargalos.

1.2 Comunicação Assíncrona 📬

  • Envia e esquece (Eventos).
  • Uso de Filas e Tópicos (Broker).
  • Vantagem: Escalabilidade e desacoplamento.

2. API Gateway: O Porteiro 🚪

  • Única entrada para o mundo exterior.
  • Esconde a complexidade interna.

Gateway Responsibilities

  • Roteamento: /p -> Pagamento, /e -> Estoque.
  • Segurança: Autenticação centralizada.
  • Rate Limit: Proteção contra flood.
  • Logs & Monitoramento.

3. Service Discovery 🔎

  • Onde está o servidor de pagamentos?
  • Agenda dinâmica de IPs e Portas.
  • Ferramentas: Netflix Eureka, Consul.

4. Load Balancing ⚖️

  • Distribuição inteligente da carga.
  • Evita que um container "morra" de trabalho.
graph TD
    GW[Gateway] --> LB[Load Balancer]
    LB --> S1[Serviço A]
    LB --> S2[Serviço B]
    LB --> S3[Serviço C]

5. Resiliência: Circuit Breaker 🔌

  • Detecta serviços lentos ou falhos.
  • Abre o circuito para proteger o resto do sistema.
  • Evita o cascateamento de erros.

Comparativo: Sync vs Async

Característica Síncrono 🔄 Assíncrono 📬
Resposta Imediata Eventual
Desempenho Limitado pelo destino Alto débito
Uso comum Cadastro/Login Geração de Relatórios

6. Prática: O "Dashboard" Agregador 💻

  • Como o Gateway une dados de 3 serviços?
  • Agregação de respostas (Aggregation Pattern).

Desafio Relâmpago ⚡

O que acontece se o seu API Gateway cair? Ele é um ponto único de falha?


Resumo ✅

  • Sync é fácil, Async é escalável.
  • API Gateway protege e organiza.
  • Service Discovery é essencial em containers.
  • Resiliência não é opcional!

Próxima Aula: Modelagem REST 📡

  • Verbos HTTP.
  • Status Codes.
  • O contrato ideal.

Dúvidas? 🏗️