Phase 6 - Production & Architecture

Goal: Design, deploy, and operate production Java systems - microservices, messaging, observability, containers, cloud, and security hardening. By the end of this phase you can architect a multi-service system, operate it in production, and reason about reliability, performance, and security.

Module Topic Status
46 Microservices Architecture - decomposition, inter-service communication, saga pattern, outbox pattern
47 Spring Cloud - Config Server, Eureka, API Gateway, Circuit Breaker (Resilience4j), distributed tracing
48 Messaging - Kafka producers/consumers/Streams, RabbitMQ exchanges/routing/DLQ, exactly-once semantics
49 Caching - Spring Cache abstraction, Redis cache-aside, TTL, eviction, cache invalidation
50 API Design - OpenAPI 3/Swagger, REST versioning, consumer-driven contract testing (Pact)
51 GraphQL with Spring - schema-first, queries/mutations/subscriptions, DataLoader, N+1
52 gRPC - Protocol Buffers, unary/streaming RPCs, interceptors, vs REST trade-offs
53 Docker & Containers - Dockerfile, multi-stage builds, Compose, Jib
54 Observability - Micrometer, Prometheus, Grafana, OpenTelemetry tracing, log aggregation
55 CI/CD - GitHub Actions, build/test/scan/deploy, SonarQube, semantic versioning
56 Performance & Profiling - async-profiler, JMC, GC tuning, JMeter, virtual threads benchmarks
57 Security Hardening - OWASP Top 10, dependency scanning, HashiCorp Vault
58 Cloud Deployment - Spring Boot on AWS/GCP, 12-factor app, environment parity
59 Capstone - end-to-end production system: multi-service, REST + gRPC + Kafka, Dockerized, CI/CD

Table of contents