Master Microservice Design Patterns Through Tactile Simulation
Learn 30 microservice patterns by breaking them. Crash dependencies, fail steps halfway and overload services in hands-on labs, and watch which patterns hold. Then test yourself on real scenarios and check your own design for anti-patterns.
- Checkout response
- 80 ms
- Errors users see
- 0%
Learn it, break it, test it, apply it
- Learn
Read the pattern
30 patterns in 6 categories: what each one is, why it exists, how to apply it, when not to, and how it connects to the others.
Open the catalog → - Break
Run a lab
Crash a dependency, slow it down or overload it, and watch the pattern respond. Change one setting at a time and see the effect.
Enter the labs → - Test
Answer scenarios
62 scenario questions. A wrong answer explains why and points you back to the patterns to revisit.
Start practicing → - Apply
Review your design
Describe your own services, data stores and calls. Rule checks flag anti-patterns, and an AI-assisted review explains the trade-offs.
Review a design →
If you are new to this
Draw the boundaries
Start with Decompose by Subdomain and Database per Service. Everything else depends on these two decisions.
Survive failure
Read Circuit Breaker and Retry with Backoff, then run the lab to see how they interact.
Stay consistent
Move on to Saga and Transactional Outbox. This is where most real projects get stuck.
Patterns by the problem they solve
Where do the boundaries go?
How to split a system into services and migrate toward them without a big-bang rewrite.
4 patternsWho owns the data, and how does it stay consistent?
How services own their data and still deliver business outcomes that span several of them.
8 patternsHow do clients and services talk?
How requests and messages move between clients, gateways and services.
7 patternsWhat happens when a dependency fails or slows down?
How to keep serving users when parts of the system are broken, slow or overloaded.
5 patternsHow do we see what the system is doing?
How to understand behaviour that is spread across many processes and machines.
3 patternsHow do we ship and run it?
How cross-cutting runtime concerns are packaged and operated across many services.
3 patterns