Federation कई स्वतंत्र रूप से deploy की गई services को एक ही graph का एक-एक हिस्सा own करने देता है, जिसे एक gateway एक single schema में compose करता है जिसे clients query करते हैं। यह schema stitching का आधुनिक विकल्प है, जहाँ एक gateway remote schemas को मैन्युअल रूप से merge करता था — federation merge नियमों को subgraphs में ही ले जाता है।
Architecture
┌────────────────────────┐
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) │
└──────────────┘ └─────────────┘ └──────────────┘
