Mastering Spring Cloud: Architecture, Versions, and Key Sub‑Projects Explained
This article introduces Spring Cloud, its purpose and architecture, explains the version naming scheme and compatibility with Spring Boot, lists core sub‑projects with brief descriptions, and highlights important version notes for developers building resilient distributed systems.
What Is Spring Cloud
Spring Cloud aims to coordinate any service and simplify distributed system development by providing an easy‑to‑use programming model for common patterns, built on top of Spring Boot.
Goal
Coordinate any service, simplify distributed system development.
Overview
Spring Cloud offers tools such as configuration management, service discovery, circuit breakers, intelligent routing, micro‑proxy, control bus, token relay, global locking, leader election, distributed sessions, and cluster state.
Overall Architecture
Source: Spring official site.
Spring Cloud Version Relationships
Spring Cloud consists of many sub‑projects with independent release cycles. A version matrix maps each Spring Cloud release to the corresponding sub‑project versions. Versions are named after London Underground stations (e.g., Angel, Brixton) in alphabetical order. Major bug fixes trigger a service release (SRX), such as Greenwich.SR2.
Spring Cloud ↔ Spring Boot Compatibility
Hoxton → Spring Boot 2.2.x
Greenwich → Spring Boot 2.1.x
Finchley → Spring Boot 2.0.x
Edgware → Spring Boot 1.5.x
Dalston → Spring Boot 1.5.x
Sub‑Project Versions (Example)
spring‑cloud‑bus: Edgware.SR6 → 1.3.4.RELEASE, Greenwich.SR2 → 2.1.2.RELEASE
spring‑cloud‑commons: Edgware.SR6 → 1.3.6.RELEASE, Greenwich.SR2 → 2.1.2.RELEASE
spring‑cloud‑config: Edgware.SR6 → 1.4.7.RELEASE, Greenwich.SR2 → 2.1.3.RELEASE
spring‑cloud‑netflix: Edgware.SR6 → 1.4.7.RELEASE, Greenwich.SR2 → 2.1.2.RELEASE
spring‑cloud‑security: Edgware.SR6 → 1.2.4.RELEASE, Greenwich.SR2 → 2.1.3.RELEASE
spring‑cloud‑consul: Edgware.SR6 → 1.3.6.RELEASE, Greenwich.SR2 → 2.1.2.RELEASE
spring‑cloud‑sleuth: Edgware.SR6 → 1.3.6.RELEASE, Greenwich.SR2 → 2.1.1.RELEASE
spring‑cloud‑stream: Edgware.SR6 → Ditmars.SR5, Greenwich.SR2 → Fishtown.SR3
spring‑cloud‑zookeeper: Edgware.SR6 → 1.2.3.RELEASE, Greenwich.SR2 → 2.1.2.RELEASE
spring‑boot: Edgware.SR6 → 1.5.21.RELEASE, Greenwich.SR2 → 2.1.5.RELEASE
spring‑cloud‑task: Edgware.SR6 → 1.2.4.RELEASE, Greenwich.SR2 → 2.1.2.RELEASE
spring‑cloud‑gateway: Edgware.SR6 → 1.0.3.RELEASE, Greenwich.SR2 → 2.1.2.RELEASE
spring‑cloud‑openfeign: Edgware.SR6 → N/A, Greenwich.SR2 → 2.1.2.RELEASE
Note: Greenwich is built on Spring Boot 2.1.x and is not compatible with 1.5.x; both Greenwich and Edgware are end‑of‑life as Spring Boot 1.5.x was retired in August 2019.
Spring Cloud Sub‑Project Overview
Spring Cloud Config
Centralized configuration management, defaulting to Git storage, supporting live refresh, encryption, and decryption.
Spring Cloud Netflix
Integration of Netflix OSS components such as Eureka, Hystrix, Ribbon, Feign, and Zuul.
Eureka – service registry and discovery.
Ribbon – client‑side load balancing with multiple strategies.
Hystrix – circuit‑breaker for fault tolerance.
Feign – declarative REST client built on Ribbon and Hystrix.
Zuul – API gateway providing routing and filtering.
Spring Cloud Bus
Lightweight message bus for propagating cluster state changes and refreshing configurations across services.
Spring Cloud Consul
Service discovery and governance based on HashiCorp Consul.
Spring Cloud Security
Security toolkit supporting OAuth2 client and login authentication for Zuul‑proxied services.
Spring Cloud Sleuth
Distributed tracing for Spring Cloud applications, compatible with Zipkin, HTrace, and log‑based solutions like ELK.
Spring Cloud Stream
Lightweight event‑driven microservice framework using a declarative model to send and receive messages, primarily backed by Apache Kafka and RabbitMQ.
Spring Cloud Task
Framework for building short‑lived, finite data‑processing tasks, adding functional and non‑functional features to applications.
Spring Cloud Zookeeper
Service governance component based on Apache Zookeeper.
Spring Cloud Gateway
API gateway offering routing and filtering capabilities.
Spring Cloud OpenFeign
Declarative HTTP client built on Ribbon and Hystrix, generating implementations from Spring MVC annotations; promoted to first‑class citizen in Spring Cloud 2.0.
Future Content
Upcoming Spring Cloud tutorials will use the latest Greenwich.SR2 release; stay tuned for updates.
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.
macrozheng
Dedicated to Java tech sharing and dissecting top open-source projects. Topics include Spring Boot, Spring Cloud, Docker, Kubernetes and more. Author’s GitHub project “mall” has 50K+ stars.
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.
