07 November 2020

#Spring_Cloud

#Spring_Cloud

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

Basic Level

  1. What is Spring Cloud and why do we use it?
  2. Difference between Spring Boot and Spring Cloud.
  3. What is a microservice in Spring Cloud context?
  4. Explain service discovery in Spring Cloud.
  5. What is Eureka Server?
  6. What is Eureka Client?
  7. How does client-side load balancing work in Spring Cloud?
  8. What is Ribbon in Spring Cloud?
  9. Difference between Ribbon and LoadBalancerClient.
  10. What is Hystrix? Why is it used?
  11. Explain the Circuit Breaker pattern.
  12. What is Spring Cloud Config Server?
  13. How does centralized configuration help in microservices?
  14. What is Spring Cloud Bus?
  15. Explain the difference between Spring Cloud Gateway and Zuul.
  16. What is Feign Client in Spring Cloud?
  17. How do you enable Feign in a Spring Cloud project?
  18. What is a fallback method in Hystrix?
  19. Explain service registration and discovery flow.
  20. What is Spring Cloud Sleuth?
  21. What is Zipkin? How does it integrate with Spring Cloud?
  22. Difference between synchronous and asynchronous communication in microservices.
  23. What are profiles in Spring Cloud Config?
  24. How do you define routes in Spring Cloud Gateway?
  25. What is distributed tracing in Spring Cloud?

Intermediate Level

  1. How does Eureka handle service registration and deregistration?
  2. What is self-preservation mode in Eureka?
  3. Difference between Eureka, Zookeeper, and Consul.
  4. How to secure Spring Cloud Config Server?
  5. How to refresh properties dynamically in Spring Cloud Config?
  6. What is Spring Cloud Stream?
  7. What are binders in Spring Cloud Stream?
  8. What is the role of Spring Cloud Bus with Kafka/RabbitMQ?
  9. How does Spring Cloud Sleuth assign trace and span IDs?
  10. Explain distributed logging in Spring Cloud.
  11. What are retry mechanisms in Spring Cloud?
  12. How to implement API Gateway authentication and authorization?
  13. How does Spring Cloud Gateway handle rate limiting?
  14. What is service-to-service communication in Spring Cloud?
  15. How to use Feign Client for inter-service calls?
  16. What is load balancing in Feign Client?
  17. How to monitor microservices in Spring Cloud?
  18. Explain Hystrix dashboard and Turbine.
  19. How does Spring Cloud integrate with Kubernetes service discovery?
  20. What are config labels and branches in Spring Cloud Config?
  21. Explain Spring Cloud Contract for microservice testing.
  22. What are refresh scopes in Spring Cloud?
  23. How do you secure service-to-service communication?
  24. What is the role of Zuul filters?
  25. How does Spring Cloud Gateway support WebSockets?

Advanced Level

  1. How does Spring Cloud handle scalability in microservices?
  2. Explain the working of Resilience4j vs Hystrix.
  3. How do you implement bulkhead patterns in Spring Cloud?
  4. What is the difference between retry and circuit breaker?
  5. How do you secure communication with OAuth2 in Spring Cloud?
  6. How does Spring Cloud Config handle high availability?
  7. What is Spring Cloud Consul and how is it used?
  8. How do you implement blue-green deployment using Spring Cloud?
  9. What is canary release strategy in Spring Cloud?
  10. Explain distributed sessions with Spring Cloud.
  11. How to implement event-driven architecture using Spring Cloud Stream?
  12. What message brokers are supported by Spring Cloud Stream?
  13. How to achieve fault tolerance in Spring Cloud microservices?
  14. How to perform chaos testing in Spring Cloud applications?
  15. What is Spring Cloud Data Flow?
  16. Explain batch processing vs stream processing in Spring Cloud Data Flow.
  17. How do you configure multiple environments in Config Server?
  18. What is configuration encryption in Spring Cloud Config?
  19. How do you integrate Spring Cloud with Vault?
  20. How do you monitor circuit breakers at scale?
  21. Explain reactive microservices with Spring Cloud.
  22. How to achieve graceful degradation in Spring Cloud?
  23. What are challenges in scaling Eureka Server?
  24. How to design a resilient API Gateway?
  25. How to handle failover in distributed microservices?

Expert Level

  1. How do you design a large-scale system using Spring Cloud microservices?
  2. Explain CAP theorem in the context of Spring Cloud services.
  3. How does Spring Cloud achieve eventual consistency?
  4. How to migrate from a monolith to Spring Cloud microservices?
  5. How to implement multi-tenancy in Spring Cloud applications?
  6. How to integrate Spring Cloud with Istio (service mesh)?
  7. What is the Saga pattern? How do you implement it in Spring Cloud?
  8. Explain choreography vs orchestration in distributed transactions.
  9. How do you achieve zero-downtime deployment in Spring Cloud?
  10. What is API composition pattern in microservices?
  11. How to handle schema evolution in Spring Cloud microservices?
  12. Explain distributed caching in Spring Cloud.
  13. How do you integrate Spring Cloud with Kafka for event sourcing?
  14. How do you ensure observability with Micrometer + Prometheus + Grafana?
  15. How to build resilient CI/CD pipelines for Spring Cloud applications?
  16. How does Spring Cloud handle network partitions?
  17. How to design a fault-tolerant ecosystem with Spring Cloud?
  18. What is polyglot persistence in microservices? How to manage it with Spring Cloud?
  19. How do you implement advanced security (mTLS) in Spring Cloud?
  20. How do you handle cross-cutting concerns (logging, tracing, metrics)?
  21. What are best practices for managing secrets in Spring Cloud?
  22. How do you perform chaos engineering in Spring Cloud?
  23. Explain the role of Spring Cloud in hybrid cloud deployments.
  24. How does Spring Cloud integrate with AWS/GCP/Azure?
  25. How do you combine Spring Cloud with Domain-Driven Design (DDD)?

Related Topics


   Config_Mgmt   
   Service Discovery   
   Load Balancing   
   API Gateway   
   Circuit Breaker   
   Service Mesh   
   Distributed Tracing