Chapter plan
What you will complete
01Find Service Boundaries Before Adding Spring CloudUse business ownership, data authority, and change coupling to decide whether a split earns its distributed cost.Give each service authority over its own dataKeep synchronous dependency depth shallowPrefer platform-native discovery on Kubernetes unless a registry solves a real need 50 min02API Gateways & Service DiscoveryRoute external traffic through one gateway and let services find each other through discovery instead of hard-coded addresses.Centralize edge concerns (routing, TLS, rate limits) in Spring Cloud GatewayCompare platform DNS, client-side registries, and platform service meshesKeep service-to-service calls resolvable across replicas and restarts 40 min03Propagate Context Across Service BoundariesUse Micrometer Observation and OpenTelemetry export to connect request, message, and async work.Propagate standard trace headersKeep baggage small and non-sensitivePreserve context across executors and message headers 40 min04Choose REST or Messaging by CouplingCompare immediate replies, workflow latency, fan-out, ordering, and failure ownership.Use synchronous calls when the current decision requires an immediate answerUse events for facts consumed independentlyVersion contracts additively and test consumers 40 min
Module outcome
Design a service boundary and explain how it behaves when dependencies are slow, unavailable, or duplicated.
Mental model
A microservice boundary buys independent ownership and deployment by introducing network, consistency, and operational failure modes.
Module checkpoint
Resilient order platform
Separate catalog and ordering with explicit contracts, trace propagation, and failure budgets.
- Boundary decision record
- Resilience tests
- REST-versus-event rationale
Final module assessment
Ready to prove mastery?
Complete all 50 questions after finishing the module lessons and checkpoint.