As GraphQL services scaled, managing monolithic schemas became unmanageable. That's where Apollo Federation entered.
Federation enables:
- Composable schemas across services
- Explicit ownership per domain
- Seamless joins via
@key
, @external
directivesExample:
type Product @key(fields: "id") { id: ID! name: String }
Each service owns its slice. Gateway stitches them together.
This aligned well with our microservices and allowed independent evolution of APIs.