Key Concepts
| Topic | Sub-Topics | Basic | Intermediate | Advanced | Expert |
|---|---|---|---|---|---|
| Introduction | Microservices, Advantages, Spring Cloud overview | ✅ | ✅ | ||
| Configuration Management | Spring Cloud Config Server, Config Client, Encryption/Decryption | ✅ | ✅ | ✅ | ✅ |
| Service Discovery | Eureka Server, Eureka Client, Registration, Discovery | ✅ | ✅ | ✅ | ✅ |
| Load Balancing | Ribbon, Spring Cloud LoadBalancer, Client-side vs Server-side | ✅ | ✅ | ✅ | ✅ |
| API Gateway | Zuul, Spring Cloud Gateway, Routing, Filters | ✅ | ✅ | ✅ | ✅ |
| Declarative REST Clients | Feign, @FeignClient, Custom configurations | ✅ | ✅ | ✅ | ✅ |
| Circuit Breaker | Hystrix, Resilience4j, Fallback methods | ✅ | ✅ | ✅ | |
| Distributed Tracing | Sleuth, Zipkin, Trace context propagation | ✅ | ✅ | ✅ | |
| Messaging & Event-driven | Spring Cloud Stream, RabbitMQ/Kafka integration | ✅ | ✅ | ✅ | |
| Service Mesh Integration | Istio, Linkerd, Observability, Security | ✅ | ✅ | ||
| Spring Cloud Bus | Event broadcasting, Refresh events, Configuration updates | ✅ | ✅ | ✅ | |
| Security | OAuth2, JWT, Spring Cloud Security, Single Sign-On | ✅ | ✅ | ✅ | |
| Monitoring & Metrics | Micrometer, Prometheus, Grafana, Actuator integration | ✅ | ✅ | ✅ | |
| Resilience Patterns | Retry, Rate Limiting, Bulkhead pattern | ✅ | ✅ | ✅ | |
| Deployment & Cloud Platforms | AWS, Azure, Kubernetes, Docker integration | ✅ | ✅ | ✅ | ✅ |
| Advanced Topics | Reactive microservices, Function-as-a-Service, Serverless integration | ✅ | ✅ | ||
| Module / Topic | Annotations |
|---|---|
| Service Discovery | @EnableDiscoveryClient, @EnableEurekaClient, @EnableConsulClient, @EnableZookeeperClient |
| Load Balancing | @LoadBalanced, RibbonClient, @RibbonClient |
| Feign Clients | @EnableFeignClients, @FeignClient, @CircuitBreaker, fallback |
| Messaging / Stream | @EnableBinding, @StreamListener, @Input, @Output, @SendTo, @MessageMapping |
| Circuit Breaker / Resilience | @EnableCircuitBreaker, @CircuitBreaker, @Retryable, @Recover, @Bulkhead, @RateLimiter |
| Configuration / Property Management | @RefreshScope, @EnableConfigServer, @EnableConfigClient, @PropertySource |
| Scheduling / Async | @EnableScheduling, @Scheduled, @EnableAsync, @Async |
| Gateway / Routing | @EnableZuulProxy, @EnableGateway, @Route, @Predicates, @Filters |
| Security / OAuth | @EnableOAuth2Client, @EnableResourceServer, @EnableAuthorizationServer, @PreAuthorize, @RolesAllowed |
| API Gateway Filters | @GatewayFilter, @GlobalFilter, @PreFilter, @PostFilter |
| Cloud Stream Bindings | @Input, @Output, @EnableBinding, @StreamListener, @SendTo |
| Kubernetes / Cloud Native | @EnableKubernetes, @KubernetesDiscoveryClient, @RefreshScope |
| Spring Cloud Task | @EnableTask, @TaskExecution, @ScheduledTask |
| Spring Cloud Sleuth / Tracing | @EnableTracing, @NewSpan, @ContinueSpan, @SpanTag |
| Spring Cloud Vault | @EnableVaultConfiguration, @VaultPropertySource, @VaultPropertySourceProperty |
Interview question
Related Topics
| Config_Mgmt |
| Service Discovery |
| Load Balancing |
| API Gateway |
| Circuit Breaker |
| Service Mesh |
| Distributed Tracing |