☁️

Spring Cloud

Config Server, service discovery, resilience patterns, tracing & distributed transactions

Practice interview questions on this topic →
1

Introduction to Spring Cloud & Distributed Systems Challenges

intermediate

A single Spring Boot service is easy to reason about. Ten of them, calling each other over an unreliable network, are not — this module is exactly what changes, and why an entire ecosystem of tools exists just to manage that change.

2

Centralized Configuration: Config Server & Config Client

intermediate

Ten services each with their own application.properties means changing one shared value ten separate times. This module is the single source of truth that replaces that.

3

Service Discovery: Eureka & Client-Side Load Balancing

intermediatePro

A service instance's IP address changes every time Kubernetes reschedules it. This module is how one service finds another without ever hardcoding where it lives.

4

OpenFeign: Declarative REST Clients

intermediatePro

Calling another service shouldn't need the same boilerplate every single time. This module is how OpenFeign turns a service-to-service call into one annotated Java interface.

5

WebClient: The Reactive HTTP Client

advancedPro

OpenFeign is declarative and simple; WebClient is lower-level and non-blocking. This module is when the second one is actually the right tool.

6

Spring Cloud Gateway

intermediatePro

Spring Boot Mastery's API Gateway module covered the concept. This module is Spring's own purpose-built implementation of it, and what it adds beyond a plain reverse proxy.

7

Circuit Breaker with Resilience4j

advancedPro

A slow, failing downstream service doesn't just fail its own calls — it can quietly take the caller down with it. This module is the pattern that stops that from spreading.

8

Retry, Bulkhead & Rate Limiting

advancedPro

Circuit Breaker is Resilience4j's headline pattern, but three quieter ones next to it matter just as much in a real production system. This module is those three.

9

Distributed Tracing & Centralized Logging

advancedPro

One request that touches five services produces five separate sets of logs, on five separate machines. This module is how to make that feel like ONE trace again.

10

Distributed Transactions: Why 2PC Fails at Scale

advancedPro

Spring Boot Mastery's @Transactional works because one database can guarantee atomicity by itself. Once a business operation spans multiple SERVICES, each with its own database, that guarantee quietly disappears — this module is why, precisely.

11

The Saga Pattern

advancedPro

If 2PC doesn't survive real production microservices, what actually does? This module is the pattern nearly every real distributed system uses instead.

12

CQRS (Command Query Responsibility Segregation)

advancedPro

One model for both reading and writing data works fine until reads and writes want completely different shapes, or completely different scale. This module is what happens when you finally split them.

13

Event Sourcing

advancedPro

Most systems store the current state and throw away how it got there. This module is what changes when you store the HISTORY instead, and derive current state from it.

14

Idempotency in Distributed Systems

advancedPro

Retry (from two modules back) quietly assumed something this module finally makes explicit: that calling an operation twice is safe. This module is what makes that actually true.

15

Capstone — A Resilient Microservices System

advancedPro

Every module in this category hardened or connected one piece. Here's how Config Server, Eureka, Gateway, Resilience4j, tracing, and Sagas assemble into one system that survives real failure.