Abstract
Our goal is to guide participants from a solid theoretical foundation to more advanced patterns such as Federation and the Strangler Pattern.
We will use a Test-Driven Learning approach: participants will work on a dedicated repository where each branch represents a challenge, and specific tests must pass before they can progress to the next concept.
Workshop Program (6h)
1. Theory & Setup (1h)
• GraphQL Foundations: A slide-based introduction to GraphQL, its ecosystem, and why Rust is an ideal choice for performance and safety.
• Repo Overview: Introduction to the tech stack we’ll use: Axum for the HTTP layer, SQLx for database interactions, and async-graphql.
2. Hands-on: Core Rust GraphQL (2.5h)
Using our “workshop runner” and the branch-based TDD approach, we will explore:
• Simple Objects vs. Complex Objects
• Mutations and Subscriptions
• Interfaces and Unions
3. Federation (2.5h)
• Federation Theory: Understanding the architecture of distributed subgraphs.
• Local Merging: Hands-on exercise merging three distinct microservices using a local router.
• The Strangler Pattern: A practical demonstration of how to strangle a subgraph using feature flags and Wundergraph control plane.
4. Bonus: Deep Dives (Optional / Advanced) (15–30 min)
If the class pace allows, we have prepared extra modules:
• Performance Optimization: Solving the N+1 problem with DataLoaders.
• Type-safe Clients: How to consume the API in Rust using Cynic for a fully type-safe experience.
How to reserve a seat
Prerequisites
Here are the requirements that attendees will need to have installed on their machine (obivously, speakers will double check with them that everything is setup correctly and help with troubleshooting if necessary):
- docker
- git
- cargo make
- node js (last LTS)
- jq
- [optional] Cosmo WunderGraph account (only used in the very last section of the the workshop, for some online features)