Getting Started
What microservices are, how they compare to monoliths, where they are used and how to build them well.
Learn how to design, build and run microservices step by step. Clear explanations, diagrams and working Spring Boot examples for every important pattern, from service decomposition to resilience, security and deployment.
Microservices architecture builds an application as a set of small, independent services. Each service owns one business capability (such as orders, payments or users), has its own database, and can be developed, deployed and scaled on its own. Services work together over the network using APIs and events.
Java and Spring Boot developers moving from monoliths to microservices, backend engineers building distributed systems, and anyone preparing for microservices interviews.
Core Java, basic Spring Boot, RESTful web services, and simple SQL or NoSQL database use.
Clients send requests to an API Gateway, which routes them to the right service. Each service has its own database. Services find each other through a service registry, share events through a message broker, and are protected by resilience patterns and centralized monitoring.
Follow the tracks in order, or jump to the pattern you need. Topics marked "coming soon" are being written and will be linked here as they are published.
What microservices are, how they compare to monoliths, where they are used and how to build them well.
How to split a system into services: decomposition strategies, DDD, bounded contexts and migration patterns.
Synchronous and asynchronous communication, events, messaging and choosing between REST, gRPC and GraphQL.
Database per service, sagas, CQRS, event sourcing, the transactional outbox, API composition and why a shared database is an anti-pattern.
Circuit breakers, retries, timeouts, bulkheads, rate limiting and fallbacks.
Service registry, service discovery and client-side load balancing.
API Gateway, aggregation, Backend for Frontend and Spring Cloud Gateway.
Centralized logging, distributed tracing, monitoring and health checks across services.
Authentication, authorization, JWT, OAuth 2.0, RBAC and securing the API gateway.
Testing strategies, contract testing and Testcontainers.
Service mesh and safe release strategies: rolling, blue-green, canary, dark launching and A/B testing.
Top interview questions and real-world scenarios to prepare for senior Java microservices interviews.