Microservices Patterns Learning Path
A structured learning path for Microservices Patterns in System Design, covering Saga, Outbox, Circuit Breaker, Retry, Timeout, Bulkhead, Strangler Fig, Service Discovery, and API Gateway patterns.
This module covers the essential patterns for building resilient, maintainable, and observable microservice systems. Each pattern solves a specific class of distributed systems problem that appears repeatedly in production.
Module Articles
| # | Article | What You Will Learn |
|---|---|---|
| 01 | Saga Pattern | Choreography vs orchestration sagas for distributed transactions across services |
| 02 | Transactional Outbox Pattern | Reliably publishing events alongside database writes without dual-write problems |
| 03 | Circuit Breaker Pattern | Stopping cascading failures by short-circuiting calls to unhealthy downstream services |
| 04 | Retry Pattern | Exponential backoff, jitter, and when retrying is safe vs dangerous |
| 05 | Timeout Pattern | Setting request timeouts to prevent thread exhaustion and resource starvation |
| 06 | Bulkhead Pattern | Isolating failures using thread pools and connection pool partitioning |
| 07 | Strangler Fig Pattern | Incrementally replacing a monolith with microservices without a big-bang rewrite |
| 08 | Service Discovery Pattern | Client-side vs server-side discovery, service registries, and health-check integration |
| 09 | API Gateway Pattern | Centralized routing, aggregation, auth, and rate limiting at the gateway layer |
Learning Flow
flowchart TD
A["01 Saga Pattern"] --> B["02 Transactional Outbox Pattern"]
B --> C["03 Circuit Breaker Pattern"]
C --> D["04 Retry Pattern"]
D --> E["05 Timeout Pattern"]
E --> F["06 Bulkhead Pattern"]
F --> G["07 Strangler Fig Pattern"]
G --> H["08 Service Discovery Pattern"]
H --> I["09 API Gateway Pattern"]
What You Will Be Able To Do
After completing this module you will be able to:
- Design distributed transactions using the Saga pattern with orchestration or choreography
- Implement the Outbox pattern to guarantee at-least-once event delivery
- Apply Circuit Breaker, Retry, Timeout, and Bulkhead patterns to build fault-tolerant services
- Plan a legacy monolith migration using the Strangler Fig pattern
Next Module
Continue to Messaging & Streaming to learn how Kafka, RabbitMQ, SQS, and SNS are used to decouple systems.
Parent Learning Path
Return to the System Design Learning Path to review the full module order and continue with the complete learning path.