Microservices Tutorial

Splitting a system into independently deployable services — patterns and pitfalls.

Start the Microservices tutorial →

What you'll learn

1. Microservices Introduction
How to actually split a monolith, what a real microservice codebase and deployment pipeline look like.
2. Service Communication
Synchronous REST/gRPC vs asynchronous events, with the same Orders-to-Inventory example built both ways.
3. Advanced Design Principles
Bulkheads, circuit breakers, jittered retries with backoff, and idempotency keys for safe retries — with Spring Boot, ASP.NET Core, and Go examples.
4. API Gateway Patterns
Routing, request aggregation, and the Backend for Frontend (BFF) pattern for serving different clients.
5. Rate Limiting
Token bucket vs sliding window vs fixed window, and a complete per-client rate limiter in Spring Boot, ASP.NET Core, and Go.
6. Mutual TLS & Service-to-Service Security
Why mTLS beats API keys/JWTs for zero-trust service auth, with a complete setup in Spring Boot, ASP.NET Core, and Go.
7. Service Discovery & Configuration
DNS-based and registry-based discovery, centralized configuration, and liveness vs readiness health checks.
8. Saga Pattern & Distributed Transactions
Choreography vs orchestration sagas, with a complete worked order-placement example and compensating actions.
9. Observability for Microservices
Correlation IDs, distributed tracing with spans and traces, and the three pillars: logs, metrics, and traces.
10. Secrets Management
Why secrets leak in source control, env vars, and config files, and how to fetch them from Vault, Key Vault, and Kubernetes Secrets instead.
11. Testing Microservices
Consumer-driven contract testing with Pact, the testing pyramid for distributed systems, and isolation vs integration environments.
12. Microservices Interview Questions
Practical microservices interview questions on discovery, tracing, communication trade-offs, and deployment independence.