Comunicação entre Sistemas
TL;DR
A camada de aplicação acima do fio — como sistemas conversam: APIs (REST, GraphQL, gRPC), mensageria assíncrona, contratos, idempotência e versionamento. Trilha comparativa e decisória (4 sub-galhos + capstone, 23 notas): não é tutorial de implementação — isso vive nos domínios de tecnologia (Java, Node, Python, Go).
Sobre este domínio
Sobre o transporte (TCP/HTTP/DNS, que vive em Redes e Protocolos) mora a camada de contrato: como desenhar uma API, escolher entre síncrono e assíncrono, versionar sem quebrar consumidores, garantir entrega e idempotência. Disciplina neutra de stack — cada tecnologia implementa e linka pra cá.
Sub-galhos
1 · Panorama e decisão (Iniciado)
O mapa antes do território: contrato/acoplamento, RPC clássico e onde sobrevive, a era REST/GraphQL/gRPC, tempo real, o que está emergindo.
2 · Comunicação síncrona (Adepto)
REST (modelagem, maturidade, HATEOAS/HAL, contrato de resposta, paginação/filtros/auth), GraphQL, gRPC, e a decisão final entre os três.
3 · Confiabilidade do contrato (Adepto→Magus)
Idempotência, versionamento e evolução segura, caching HTTP, rate limiting como contrato, webhooks e operações assíncronas.
4 · Comunicação assíncrona (Adepto→Magus)
Síncrono vs assíncrono, message queue vs event streaming, garantias de entrega e ordenação, Outbox e Saga, legado enterprise, CloudEvents/AsyncAPI.
★ Capstone (Magus)
Um walkthrough único desenhando a comunicação de um e-commerce do zero, costurando os 4 sub-galhos numa sequência de decisões reais.
Como usar esta trilha
Leia na ordem 1 → 2 → 3 → 4 se está construindo o mapa mental: o panorama dá o vocabulário histórico, a comunicação síncrona aprofunda REST/GraphQL/gRPC, a confiabilidade cobre o que faz o contrato se sustentar sob falha, e a comunicação assíncrona traz mensageria em nível de decisão. Se já domina o básico, vá direto ao capstone e use os sub-galhos como referência quando uma decisão específica precisar de profundidade.
Referência
- API Design — tronco podado (redireciona pra trilha; preserva file upload e “Na prática” do autor)
- Mensageria — ferramenta específica (Kafka, RabbitMQ, BullMQ, Event Streaming)
Veja também
- Engenharia — a camada
- Redes e Protocolos — o transporte (o fio) abaixo
- Arquitetura — a forma do sistema que se comunica
- System Design — escala/Pub-Sub/CQRS/Event Sourcing/API Gateway (fronteira: lá é escala, aqui é contrato)