Skip to main content

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 forWhere it shows upSymptomRepair evidence
Finishing Decomposition Lab with only a final answerDecomposition LabThe 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 answerContracts and Data WorkshopThe 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 answerResilience ClinicThe 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 answerMicroservices KatasThe 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 toolThe Microservices Distillation: Independent Deploy, Team-Owned, BoundedThe 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 toolWhy Not Microservices: The Cost ModelThe 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:

  1. "We have one repo per service and they deploy in Kubernetes, so it is a microservices architecture."
  2. "We split by entity: Customer Service, Product Service, Order Service. Every workflow calls a sequence of these services."
  3. "We will rewrite the monolith as microservices next year. Feature freeze now."
  4. "Two services share the users table because the Accounts team and the Profile team both need it."
  5. "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:

  1. "Different services use different schemas in the same database, so it is not a shared database."
  2. "We have OpenAPI specs so our contracts are enforced."
  3. "The provider writes the contract tests because they own the API."
  4. "Events don't need schemas because they are fire-and-forget."
  5. "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:

  1. "We added retries to every HTTP call. No backoff needed -- the downstream will recover."
  2. "We have timeouts set to 30 seconds on every internal call."
  3. "Our gateway times out at 60s, so downstream services use 50s timeouts."
  4. "We retry on every 5xx response, including POST /charge."
  5. "We removed the circuit breaker -- it was 'too aggressive' when the downstream was only a little slow."

Repair Protocol

For each real mistake:

  1. Reproduce the failure on the smallest example, trace, proof, query, command, or design sketch.
  2. Name the hidden assumption.
  3. Repair the artifact.
  4. Save evidence that changed: failing then passing test, corrected proof step, revised diagram, safer command, benchmark, or review note.
  5. Add one retrieval card beginning with Check... before... or Do not use... when....

Mistake Log

DateMistakeSymptomRoot causeRepair evidenceRetrieval card
StarterPick one radar row aboveExplain how it would fail in this moduleName the assumptionAdd a counterexample or corrected artifactWrite 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.