Safely Merging Subgraphs in a Distributed World
summary
Brex describes a concrete, zero‑downtime workflow to consolidate dozens of tiny subgraphs into one modular domain using Apollo Federation and Apollo Router, Kotlin services with Micronaut, gRPC, and Helm. Tests run first: startup, exhaustive schema reachability checks, and critical business flows. Code moves into a domain module while the old subgraph still registers fields; the router uses an execution vs registration schema split so traffic is shifted via service‑mesh rules gradually 10% → 50% → 100% traffic shift, then ownership is atomically swapped and old resources removed.
AI-written summary · about
chapters (10)
- 0:00Introduction and motivation
- 1:25Problems with too many subgraphs
- 3:54Why we needed to merge subgraphs
- 6:42Introducing domain services
- 8:09Migration process overview
- 10:57Code migration in detail
- 14:28Routing and traffic shifting
- 16:13Ownership handoff and cleanup
- 18:23Final results and summary
- 19:04Q&A session
related talks
59mBuilding Distributed GraphQL APIs
06mEscape the GraphQL Monolith
28mBuilding a distributed graph w/ Apollo Federation
48mApollo Federation: Connecting GraphQL Microservices
27mStranger Graphs - Building Federated Workflows with Shared Components
08mGraphQL: everything you want in one query
50mDistributed GraphQL APIs: Breaking Down Monoliths & Unlocking Agility for Dev Teams
27mIsolated Federated Schema Integration Testing with Router
