Federation ਕਈ ਸੁਤੰਤਰ ਤੌਰ 'ਤੇ deploy ਕੀਤੇ services ਨੂੰ ਇੱਕ graph ਦੇ ਹਿੱਸੇ ਦਾ ਮਾਲਕ ਬਣਨ ਦਿੰਦਾ ਹੈ, ਜਿਸਨੂੰ ਇੱਕ gateway ਇੱਕ single schema ਵਿੱਚ compose ਕਰਦਾ ਹੈ ਜੋ clients query ਕਰਦੇ ਹਨ। ਇਹ schema stitching ਦਾ ਆਧੁਨਿਕ ਬਦਲ ਹੈ, ਜਿੱਥੇ ਇੱਕ gateway remote schemas ਨੂੰ ਹੱਥੀਂ merge ਕਰਦਾ ਸੀ — federation merge rules ਨੂੰ 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) │
└──────────────┘ └─────────────┘ └──────────────┘
