Το federation επιτρέπει σε πολλά ανεξάρτητα αναπτυγμένα services να κατέχει το καθένα μέρος ενός γράφου, τον οποίο ένα gateway συνθέτει σε ένα ενιαίο schema που ερωτούν οι clients. Είναι η σύγχρονη αντικατάσταση του schema stitching, όπου ένα gateway συγχώνευε χειροκίνητα απομακρυσμένα schemas — το federation μεταφέρει τους κανόνες συγχώνευσης μέσα στα ίδια τα subgraphs.
Η αρχιτεκτονική
┌────────────────────────┐
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) │
└──────────────┘ └─────────────┘ └──────────────┘
