Was It Worth It? Lessons from Implementing Two GraphQL Routers. In JavaScript & Rust
summary
Built a production GraphQL gateway in JavaScript using GraphQL Yoga, Envelope, schema stitching, and GraphQL.js to move fast; later reimplemented the router in Rust to gain tighter control over memory, allocations, concurrency and predictability. Rust forces explicit ownership and async boundaries, so a new Rust query planner is written, exposed back to the JavaScript gateway via an API, and becomes the default engine — resulting in lower resource cost and clearer architecture.
AI-written summary · about
chapters (12)
- 0:00Introduction and context
- 1:49What a GraphQL router does
- 3:37JavaScript ecosystem advantages
- 5:43Why Rust became necessary
- 7:09Rust’s design pressure benefits
- 10:22State management challenges
- 12:27Query planning ownership
- 13:52Feedback loop between implementations
- 15:42Ecosystem differences Rust vs JavaScript
- 17:54Was the rewrite worth it?
- 19:19Future of JavaScript gateway
- 20:43GraphQL Mesh’s current role
related talks
07mThe future of GraphQL routing
30mHow to Choose a GraphQL Gateway
38mInside Booking.com’s Router Rollout: Powering Product and Platform at Massive Scale
23mRewrite everything in Rust? What we learned from introducing Rust in Strawberry-GraphQL
01h 13mRust-Powered Fullstack GraphQL: From Actix-Web & Juniper Server to WASM Yew Client
38mWriting a GraphQL compiler in Rust, a case study
06mGraphQL tooling in Rust
23mRebuilding in Rust for Good Reason
