Roadmap — Comunicação síncrona (sub-galho 2)

Roadmap-folha do sub-galho Comunicação entre Sistemas/2 - Comunicação síncrona. Fase Adepto (a decisão técnica de como desenhar o contrato síncrono). Spec: 2026-07-09-comunicacao-entre-sistemas-trilha-design. EXEMPLAR: notas 01-05 do sub-galho 1 desta trilha (mesmo tom).

Tabela-resumo

MétricaValor
Total de notas6
⬜ pendente0
✅ feita6
🔄 em andamento0
% concluído100% ✅

Notas

01 - REST — modelagem de recursos e maturidade [substantivo]

  • Estado: ✅ feita (2026-07-09) · fase: Adepto
  • Escopo: recursos como substantivos, nested vs flat, verbos HTTP (idempotência/safety), Richardson Maturity Model (0-3), HAL na prática, por que HATEOAS raramente é implementado de verdade.
  • Fronteira: reforço/migração de API Design.md.
  • Resultado: 401 linhas / 6715 palavras; Mermaid, 4 [!warning]. Fontes: Richardson Maturity Model, HAL IETF draft, Google AIP, RFC 9110, Zalando/Stripe/PayPal.

02 - REST — o contrato de resposta [substantivo]

  • Estado: ✅ feita (2026-07-09) · fase: Adepto
  • Escopo: status codes com tabela “quando usar”/“confusão comum”, regra 4xx/5xx e retry automático, RFC 9457 Problem Details completo, content/method negotiation.
  • Fronteira: reforço/migração de API Design.md; linka Java/Web e APIs REST 10 (não duplica).
  • Resultado: 325 linhas / 6459 palavras; Mermaid, 3 [!warning]. Fontes: RFC 9457 oficial, ASP.NET/FastAPI/Go Problem Details.

03 - Paginação, filtros e autenticação em REST [substantivo]

  • Estado: ✅ feita (2026-07-09) · fase: Adepto
  • Escopo: offset vs cursor (Stripe/GitHub), RSQL/FIQL e filtros, full-text search, tabela comparativa de 6 métodos de auth, JWT/revogação como ponto de risco — decisão, não implementação.
  • Fronteira: linka Node/Segurança, Java/Segurança (JWT deep-dive é lá).
  • Resultado: 404 linhas / 6774 palavras; 2 Mermaid, 3 [!warning]. Fontes: OWASP API2:2023, Stripe/GitHub pagination, Zalando guidelines.

04 - GraphQL — schema, resolvers e quando vale [substantivo]

  • Estado: ✅ feita (2026-07-09) · fase: Adepto
  • Escopo: schema/SDL, queries/mutations, resolvers, problema N+1 e DataLoader, subscriptions (menção), quando vale/quando é overkill.
  • Fronteira: linka Node/Integrações 06 (Apollo/Mercurius); Go/Java sem trilha profunda ainda (lacuna sinalizada, não preenchida).
  • Resultado: 359 linhas / 5902 palavras; Mermaid, 3 [!warning]. Fontes: GitHub GraphQL v4, Shopify query cost.

05 - gRPC — Protobuf, HTTP2 e streaming [substantivo]

  • Estado: ✅ feita (2026-07-09) · fase: Adepto
  • Escopo: Protocol Buffers (.proto, protoc, binário vs JSON), HTTP/2 (multiplexação, HPACK), os 4 tipos de streaming com caso de uso concreto cada, deadlines propagados, interceptors, gRPC-Web/proxy (por que browser não fala gRPC nativo), tabela comparativa por linguagem (Go lacuna, Java/Node linkados, Python grpc.aio).
  • Fronteira: linka Java/Mensageria 27-28 (Protobuf/gRPC Java), Node/Integrações 05; não duplica origem (Stubby/2015) já contada em SG1-03.
  • Resultado: 325 linhas / 5769 palavras; 5 Mermaid, 3 [!warning]. Fontes: grpc.io (deadlines, about, web basics), protobuf.dev, benchmarks Protobuf vs JSON, HPACK, gRPC-Web/Envoy.

06 - REST vs GraphQL vs gRPC — decisão [substantivo]

  • Estado: ✅ feita (2026-07-09) · fase: Adepto · FECHA o sub-galho
  • Escopo: matriz de decisão, padrão híbrido de mercado (Netflix/Uber/Shopify), documentação como contrato (OpenAPI/.proto/SDL, design-first vs code-first), contract testing (Pact/Prism/Dredd).
  • Fronteira: fecha o sub-galho; prepara sub-galho 3.
  • Resultado: 325 linhas / 6238 palavras; 3 Mermaid, [!warning]. Fontes: Netflix TechBlog, Apollo Federation, Buf/Connect, Pact Docs.