Advanced
Microservices Architecture
Boundaries first. Then everything that goes wrong across them.
Service boundaries and the monolith you should start with, synchronous versus asynchronous communication, discovery, the API gateway, configuration, and resilience: timeouts, retries, circuit breakers and bulkheads.
7 lessons written2 modules~2h reading
After this course you can
- Draw a service boundary from a domain and defend it
- Set timeouts, retries and circuit breakers so a slow dependency cannot take you down
- Explain what a gateway is for and what it must not do
- Choose sync or async for a given interaction and know the cost of each
Curriculum
7 lessons · outlined lessons show their plan01
Service boundariesBounded contexts, the modular monolith as the starting point, data ownership, and the distributed monolith that shares a database.16 minSynchronous vs asynchronous communicationREST and gRPC calls versus events and commands, temporal coupling, and the interaction that should have been a message.16 minService discovery and configurationClient-side and server-side discovery, DNS in Kubernetes, centralised configuration, and secrets that rotate.15 minThe API gatewayRouting, authentication at the edge, rate limiting, aggregation — and the business logic that must never move into it.14 minBoundaries and communication
02
Timeouts and retriesConnect versus read timeouts, retry budgets, exponential backoff with jitter, and the retry storm that turned a blip into an outage.16 minCircuit breakers and bulkheadsThe breaker's three states, Resilience4j configuration, fallbacks that are honest, and bulkheads that keep one slow dependency from starving the rest.15 minRate limiting between servicesPer-client limits, token buckets in Resilience4j, and backpressure as the polite alternative.14 min