Cloud Native 8 min read

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.

macrozheng
macrozheng
macrozheng
Mastering Spring Cloud: Architecture, Versions, and Key Sub‑Projects Explained

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

Spring Cloud Architecture
Spring Cloud 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.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

Javacloud-nativeMicroservices
macrozheng
Written by

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.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.