Full Stack • Java • System Design • Cloud • AI Engineering

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.