Back to Courses
Advanced
Mastering Spring Boot Microservices
Build production-grade distributed systems with Spring Cloud. You'll implement service discovery, API gateways, resilience patterns, event-driven architecture with Kafka, distributed tracing, and deploy everything to Kubernetes — all battle-tested patterns used in real systems.
Course Curriculum
- Microservices patterns & trade-offs
- Domain decomposition & bounded contexts
- The 12-factor app principles
- CAP theorem & eventual consistency
- Monolith vs Microservices vs Modular Monolith
- Synchronous REST with RestClient & WebClient
- Declarative HTTP clients with Spring's @HttpExchange
- OpenFeign client
- Service-to-service authentication
- gRPC basics
- API contracts & OpenAPI code generation
- Eureka Server setup & registration
- Client-side load balancing with Spring Cloud LoadBalancer
- Consul as an alternative registry
- Health checks & instance metadata
- DNS-based discovery in Kubernetes
- Circuit Breaker with Resilience4j
- Retry with exponential backoff
- Rate Limiter
- Bulkhead pattern
- Fallback strategies
- Timeout configuration
- Routing & predicates
- Pre & post filters
- Rate limiting at the gateway
- JWT validation & OAuth2 resource server
- Request/response transformation
- Kafka architecture — topics, partitions, offsets
- Producers & consumers with Spring Kafka
- Consumer groups & partition assignment
- Spring Cloud Stream abstraction
- Saga pattern — choreography vs orchestration
- Transactional Outbox pattern
- Schema registry & Avro serialization
- Micrometer Tracing & trace/span propagation
- Zipkin & Jaeger for trace visualisation
- Correlation IDs across services
- Structured & centralised logging with ELK stack
- Dashboards with Grafana
- Spring Cloud Config Server with Git backend
- Encrypting sensitive configuration
- Dynamic config refresh with Spring Cloud Bus
- Secrets management with HashiCorp Vault
- Dockerising each microservice
- Docker Compose for the full stack locally
- Kubernetes Deployments, Services & Ingress
- ConfigMaps & Secrets
- Liveness & readiness probes
- Helm charts basics
- Consumer-driven contract testing with Spring Cloud Contract
- Integration tests with Testcontainers
- End-to-end tests with Docker Compose
- Performance testing with Gatling
- Chaos engineering basics