Spring Cloud Quick‑Start Guide: Getting Started with Microservices
This article introduces Spring Cloud's background, core components (including first‑ and second‑generation modules derived from Netflix OSS), versioning scheme, compatibility with Spring Boot, and practical advice for selecting matching releases to avoid runtime issues in microservice projects.
Background
Spring Cloud provides a comprehensive set of distributed‑system features such as configuration management, service governance, circuit breaking, intelligent routing, micro‑proxy, and a control bus. When a project adopts Spring Cloud, the request flow of an interface becomes significantly more complex than that of a monolithic application.
Technical Stack
The core components of the original Spring Cloud are derived from Netflix OSS projects (Eureka, Ribbon, Hystrix, Feign, Zuul). Spring Cloud integrates these OSS projects and adds its own modules.
First‑Generation Spring Cloud Components
spring-cloud-eureka – source: Netflix Eureka – service registry component.
spring-cloud-ribbon – source: Netflix Ribbon – service load‑balancing component.
spring-cloud-hystrix – source: Netflix Hystrix – service circuit‑breaker component.
spring-cloud-feign – source: Netflix Feign – service remote‑call component.
spring-cloud-zuul – source: Netflix Zuul – service gateway component.
spring-cloud-config – self‑developed – service configuration center.
spring-cloud-bus – self‑developed – service message bus.
spring-cloud-sleuth – self‑developed – service log tracing.
spring-cloud-zipkin – third‑party – full‑link service log monitoring.
Second‑Generation Spring Cloud Components (post‑2018)
Service registry : first‑gen Eureka, Consul → second‑gen Nacos.
Service load‑balancing : first‑gen Ribbon → second‑gen spring-cloud-loadbalancer.
Service circuit‑breaker : first‑gen Hystrix → second‑gen Resilience4j, Sentinel.
Service remote‑call : first‑gen Feign → second‑gen Spring Cloud OpenFeign (enhanced Feign).
Service gateway : first‑gen Zuul → second‑gen Spring Cloud Gateway.
Configuration center : first‑gen Spring Cloud Config → second‑gen Nacos, Apollo.
Full‑link log monitoring : first‑gen Zipkin → second‑gen SkyWalking.
Spring Cloud introduced its own gateway and load‑balancer because Zuul 1.x had average performance and Zuul 2.x was delayed. The self‑developed components provide noticeable improvements in performance and maintainability.
Version Selection
Spring Cloud releases are identified by London‑tube‑station names (Angel, Brixton, …) ordered alphabetically. Each release may have multiple service‑release (SR) sub‑versions, e.g., Angel.SR5, Brixton.SR6. When a release accumulates significant changes or critical bugs, a new SRX version is issued, where X increments.
Each Spring Cloud release bundles specific versions of its sub‑projects. For example, in the Angel.SR6 release the spring-cloud-aws module is version 1.0.4.RELEASE, while in Brixton.SR5 it is 1.1.1.RELEASE. Similar version mappings exist for other modules such as spring-cloud-bus, spring-cloud-cli, spring-cloud-config, etc.
Spring Cloud ↔ Spring Boot Compatibility
Angel – compatible with Spring Boot 1.2.x
Brixton – compatible with Spring Boot 1.3.x, 1.4.x
Camden – compatible with Spring Boot 1.4.x, 1.5.x
Dalston – compatible with Spring Boot 1.5.x
Edgware – compatible with Spring Boot 1.5.x
Finchley – compatible with Spring Boot 2.0.x
Greenwich – compatible with Spring Boot 2.1.x
Hoxton – compatible with Spring Boot 2.2.x, 2.3.x
Ilford – compatible with Spring Boot 2.4.x, 2.5.x
Jubilee – compatible with Spring Boot 2.6.x, 2.7.x
Kilburn – compatible with Spring Boot 3.0.x, 3.1.x
Leyton – compatible with Spring Boot 3.2.x, 3.3.x
Choosing a Spring Cloud version that matches the project's Spring Boot version avoids runtime incompatibilities.
Conclusion
Spring → Spring Boot → Spring CloudSpring Boot is a rapid‑development tool built on the Spring framework. Spring Cloud extends Spring Boot to provide cloud‑native microservice capabilities such as configuration management, service governance, circuit breaking, routing, and a control bus. Consequently, Spring Cloud depends on Spring Boot and the two are tightly coupled.
References
https://www.didispace.com/spring-cloud/springcloud-version.html
http://www.ityouknow.com/springcloud/2017/05/01/simple-springcloud.html
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
Pan Zhi's Tech Notes
Sharing frontline internet R&D technology, dedicated to premium original content.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
