Federation, bağımsız olarak deploy edilen birçok servisin tek bir grafiğin bir parçasına sahip olmasını sağlar; bir gateway bunları istemcilerin sorguladığı tek bir schema'da birleştirir. Bir gateway'in uzak schema'ları manuel olarak birleştirdiği schema stitching'in modern yerine geçenidir — federation, birleştirme kurallarını subgraph'ların kendisine taşır.
Mimari
┌────────────────────────┐
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) │
└──────────────┘ └─────────────┘ └──────────────┘
