A federation lehetővé teszi, hogy sok, egymástól függetlenül deployolt szolgáltatás egy-egy részt birtokoljon egyetlen gráfból, amelyet egy gateway egyetlen sémává komponál, amit a kliensek lekérdeznek. Ez a schema stitching modern utódja, ahol egy gateway manuálisan egyesítette a távoli sémákat — a federation az egyesítési szabályokat magukba a subgraphokba helyezi át.
Az architektúra
┌────────────────────────┐
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) │
└──────────────┘ └─────────────┘ └──────────────┘
