Federation permite que muitos serviços implantados de forma independente possuam, cada um, parte de um grafo, que um gateway compõe em um único schema que os clientes consultam. É a substituição moderna do schema stitching, no qual um gateway mesclava manualmente schemas remotos — a federation move as regras de mesclagem para os próprios subgraphs.
A arquitetura
┌────────────────────────┐
Client ─────▶ │ Gateway / Router │ (composed supergraph)
└───────┬────────┬───────┘
│ │ plans + fans out sub-queries
┌──────────▼──┐ ┌──▼──────────┐ ┌──────────────┐
│ Users svc │ │ Reviews svc │ │ Products svc │
│ type User │ │ extends │ │ type Product│
│ @key(id) │ │ User/Prod │ │ @key(id) │
└──────────────┘ └─────────────┘ └──────────────┘
