Module 2: Microservices & Service Decomposition: Mistake Clinic
This clinic turns wrong moves into reusable judgment. Use it after each practice page and again before the quiz or checkpoint.
Module-Specific Mistake Radar
Start with these traps. Replace or extend them with real mistakes from your own work.
| Mistake to look for | Where it shows up | Symptom | Repair evidence |
|---|---|---|---|
| Finishing Decomposition Lab with only a final answer | Decomposition Lab | The work has no failed case, trace, test, proof gap, or design stress point. | Add the smallest broken example and show the repair that changes the result. |
| Finishing Contracts and Data Workshop with only a final answer | Contracts and Data Workshop | The work has no failed case, trace, test, proof gap, or design stress point. | Add the smallest broken example and show the repair that changes the result. |
| Finishing Resilience Clinic with only a final answer | Resilience Clinic | The work has no failed case, trace, test, proof gap, or design stress point. | Add the smallest broken example and show the repair that changes the result. |
| Finishing Microservices Katas with only a final answer | Microservices Katas | The work has no failed case, trace, test, proof gap, or design stress point. | Add the smallest broken example and show the repair that changes the result. |
| Treating The Microservices Distillation: Independent Deploy, Team-Owned, Bounded as vocabulary instead of a tool | The Microservices Distillation: Independent Deploy, Team-Owned, Bounded | The explanation names the concept but cannot decide between two cases. | Write one example, one non-example, and the rule that separates them. |
| Treating Why Not Microservices: The Cost Model as vocabulary instead of a tool | Why Not Microservices: The Cost Model | The explanation names the concept but cannot decide between two cases. | Write one example, one non-example, and the rule that separates them. |
Practice Mistake Checks
Pull any miss from these checks into your mistake log.
Decomposition Lab
Source: practice/01-decomposition-lab.md
For each statement, identify the error:
- "We have one repo per service and they deploy in Kubernetes, so it is a microservices architecture."
- "We split by entity: Customer Service, Product Service, Order Service. Every workflow calls a sequence of these services."
- "We will rewrite the monolith as microservices next year. Feature freeze now."
- "Two services share the
userstable because the Accounts team and the Profile team both need it." - "Our six-person team owns 14 microservices."
Contracts and Data Workshop
Source: practice/02-contracts-and-data-workshop.md
For each statement, identify the error:
- "Different services use different schemas in the same database, so it is not a shared database."
- "We have OpenAPI specs so our contracts are enforced."
- "The provider writes the contract tests because they own the API."
- "Events don't need schemas because they are fire-and-forget."
- "We added a required field -- consumers will just start sending it on the next deploy."
Resilience Clinic
Source: practice/03-resilience-clinic.md
For each statement, identify the failure mode:
- "We added retries to every HTTP call. No backoff needed -- the downstream will recover."
- "We have timeouts set to 30 seconds on every internal call."
- "Our gateway times out at 60s, so downstream services use 50s timeouts."
- "We retry on every 5xx response, including
POST /charge." - "We removed the circuit breaker -- it was 'too aggressive' when the downstream was only a little slow."
Repair Protocol
For each real mistake:
- Reproduce the failure on the smallest example, trace, proof, query, command, or design sketch.
- Name the hidden assumption.
- Repair the artifact.
- Save evidence that changed: failing then passing test, corrected proof step, revised diagram, safer command, benchmark, or review note.
- Add one retrieval card beginning with Check... before... or Do not use... when....
Mistake Log
| Date | Mistake | Symptom | Root cause | Repair evidence | Retrieval card |
|---|---|---|---|---|---|
| Starter | Pick one radar row above | Explain how it would fail in this module | Name the assumption | Add a counterexample or corrected artifact | Write the card before closing the page |
Completion Standard
- At least five real mistakes are logged.
- At least two mistakes include a counterexample or failing test.
- At least one mistake connects to an older semester skill.
- At least one correction changes code, a proof, a diagram, a command transcript, a query, or a design decision.