Microservices e sistemas distribuídos
TL;DR
Galho 15 da trilha Python: como um serviço Python se comunica com outros serviços em produção — cliente HTTP (
httpx) com timeouts/connection pooling, resiliência na prática (tenacitypra retry,pybreaker/circuitbreakerpra circuit breaker), consumo de API Gateway (autenticação serviço-a-serviço, awareness de rate limit), tracing distribuído com OpenTelemetry, Saga orquestrada em código Python. Fecha com capstone extraindo um segundo serviço da API de Tarefas. Fase Magus; 8 notas. Segundo galho do bloco “Plataforma distribuída e produção” (14-18).
Sobre este galho
Este galho é ferramental e aplicado, não teoria de sistemas distribuídos — os conceitos (CAP, consistência eventual, Circuit Breaker, API Gateway/BFF, service discovery) já estão cobertos em profundidade e de forma agnóstica de linguagem na trilha System Design, e os contratos de comunicação (REST/GraphQL/gRPC, idempotência, versionamento, rate limiting, webhooks) já estão em Comunicação entre Sistemas. Este galho referencia os dois sem repetir, e foca em como CÓDIGO Python real implementa essas ideias — client HTTP resiliente, consumo de gateway, tracing, Saga.
Fronteiras anti-duplicação: CAP/consistência/consenso, Circuit Breaker como padrão, API Gateway/BFF como conceito → System Design (SG2/SG3), só referenciados. Contratos REST/GraphQL/gRPC, idempotência, rate limiting, webhooks → Comunicação entre Sistemas, só referenciados. Mensageria/Outbox/DLQ → Galho 14 desta trilha, já construído, reusado aqui. Domain Events/arquitetura hexagonal → Galho 13 desta trilha, reusado. Observabilidade de produção em profundidade (logging estruturado, métricas, dashboards) → Galho 17 futuro desta trilha, só tracing é tocado aqui.
Audiência: quem já tem a API de Tarefas construída, testada, arquiteturalmente organizada e publicando eventos (Galhos 9-14) e precisa entender como ela conversa com OUTROS serviços Python de forma resiliente e observável.
Magus
- 01 — Panorama: de monolito modular a microservices em Python
- 02 — Comunicação síncrona entre serviços: httpx
- 03 — Resiliência na prática: tenacity e circuit breaker
- 04 — Cliente de API Gateway: autenticação serviço-a-serviço
- 05 — Service discovery na prática
- 06 — Tracing distribuído com OpenTelemetry
- 07 — Saga orquestrada em Python
- 08 — Capstone: extraindo o serviço de Notificações — recapitula o galho.
Todas as notas
TABLE fase, status FROM "03-Dominios/Tecnologia/Python/Microservices e sistemas distribuídos" WHERE type = "concept" SORT file.name ASCVeja também
- Trilha Python (MOC central)
- System Design — conceitos de sistemas distribuídos em escala, agnósticos de linguagem
- Comunicação entre Sistemas — contratos REST/GraphQL/gRPC, confiabilidade
- Mensageria — Galho 14 (broker/Outbox/DLQ, reusados aqui)
- Arquitetura e Design Patterns — Galho 13 (Domain Events, hexagonal)
- Java — Microservices e sistemas distribuídos — trilha irmã, mesmo papel (Spring Cloud)