يتيح Federation لعدة خدمات مُنشَرة باستقلالية أن تملك كلٌّ منها جزءًا من رسم بياني (graph) واحد، تؤلّفه بوّابة (gateway) في schema واحد يستعلمه العملاء. إنه البديل الحديث لـ schema stitching، حيث كانت بوّابة تدمج يدويًا 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) │
└──────────────┘ └─────────────┘ └──────────────┘
