Spring提供了一系列工具,可以帮助开发人员迅速搭建分布式系统中的公共组件(比如:配置管理,服务发现,断路器,智能路由,微代理,控制总线,一次性令牌,全局锁,主节点选举, 分布式session, 集群状态)。协调分布式环境中各个系统,为各类服务提供模板性配置。使用Spring Cloud, 开发人员可以搭建实现了这些样板的应用,并且在任何分布式环境下都能工作得非常好,小到笔记本电脑, 大到数据中心和云平台。

特征

Spring Cloud专注于为典型用例提供良好的开箱即用体验,并为其他用户提供可扩展性机制。Spring Cloud采用非常声明的方法,通常只需更改类路径和/或注释即可获得许多功能。作为发现客户端的示例应用程序:

@SpringBootApplication
@EnableDiscoveryClient
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}

主要项目

​Spring Cloud Config​

由git存储库支持的集中式外部配置管理。配置资源直接映射到Spring ​​Environment​​但如果需要,可以由非Spring应用程序使用。

​Spring Cloud Netflix​

与各种Netflix OSS组件集成(Eureka,Hystrix,Zuul,Archaius等)。

​Spring Cloud Bus​

用于将服务和服务实例与分布式消息传递链接在一起的事件总线 用于在群集中传播状态更改(例如,配置更改事件)。

​Spring Cloud Cloudfoundry​

将您的应用程序与Pivotal Cloud Foundry集成。提供服务发现实现,还可以轻松实现受SSO和OAuth2保护的资源。

​Spring Cloud Open Service Broker​

提供构建实现Open Service Broker API的服务代理的起点。

​Spring Cloud Cluster​

主节点选举和共同的有状态模式与Zookeeper,Redis,Hazelcast,Consul的抽象和实现。

​Spring Cloud Consul​

Hashicorp Consul的服务发现和配置管理。

​Spring Cloud Security​

为Zuul代理中的负载平衡OAuth2 rest客户端和身份验证头中继提供支持。

​Spring Cloud Sleuth​

Spring Cloud应用程序的分布式跟踪,与Zipkin,HTrace和基于日志(例如ELK)的跟踪兼容。

​Spring Cloud Data Flow​

适用于现代运行时的可组合微服务应用程序的云本机编排服务。易于使用的DSL,拖放式GUI和REST-API共同简化了基于微服务的数据管道的整体编排。

​Spring Cloud Stream​

轻量级事件驱动的微服务框架,可快速构建可连接到外部系统的应用程序。在Spring Boot应用程序之间使用Apache Kafka或RabbitMQ发送和接收消息的简单声明模型。

​Spring Cloud Stream App Starters​

Spring Cloud Stream App Starters是基于Spring Boot的Spring Integration应用程序,可提供与外部系统的集成。

​Spring Cloud Task​

一种短命的微服务框架,用于快速构建执行有限数据处理的应用程序。用于向Spring Boot应用程序添加功能和非功能功能的简单声明。

​Spring Cloud Task App Starters​

Spring Cloud Task App Starters是Spring Boot应用程序,可能是任何进程,包括不能永久运行的Spring Batch作业,它们在有限的数据处理期后结束/停止。

​Spring Cloud Zookeeper​

使用Apache Zookeeper进行服务发现和配置管理。

​Spring Cloud AWS​

与托管的Amazon Web Services轻松集成。它提供了一种使用众所周知的Spring习语和API(如消息传递或缓存API)与AWS提供的服务进行交互的便捷方式。开发人员可以围绕托管服务构建应用程序,而无需关心基础结构或维护。

​Spring Cloud Connectors​

使各种平台中的PaaS应用程序可以轻松连接到数据库和消息代理(该项目以前称为“Spring Cloud”)等后端服务。

​Spring Cloud Starters​

Spring Boot风格的入门项目,可以简化Spring Cloud用户的依赖管理。(作为项目停止并在Angel.SR2之后与其他项目合并。)

​Spring Cloud CLI​

Spring Boot CLI插件,用于在Groovy中快速创建Spring Cloud组件应用程序

​Spring Cloud Contract​

Spring Cloud Contract是一个总体项目,其中包含帮助用户成功实施消费者驱动合同方法的解决方案。

​Spring Cloud Gateway​

Spring Cloud Gateway是一款基于Project Reactor的智能可编程路由器。

​Spring Cloud OpenFeign​

Spring Cloud OpenFeign通过自动配置和Spring环境以及其他Spring编程模型习惯用法提供Spring Boot应用程序的集成。

​Spring Cloud Pipelines​

Spring Cloud Pipelines提供了一个固定意见的部署管道,其中包含确保您的应用程序可以零停机方式部署并轻松回滚出错的步骤。

​Spring Cloud Function​

Spring Cloud Function通过函数促进业务逻辑的实现。它支持无服务器提供商之间的统一编程模型,以及独立运行(本地或PaaS)的能力。

发布

Spring Cloud是一个由独立项目组成的总体项目,原则上具有不同的发布节奏。为了管理投资组合,发布了BOM(物料清单),其中包含一组针对单个项目的依赖关系(见下文)。发布是名称而不是版本,以避免与子项目混淆。名称是字母序列(因此您可以按时间顺序对它们进行排序)使用伦敦地铁站的名称(“天使”是第一个版本,“布里克斯顿”是第二个版本)。当各个项目的点数累积到临界质量时,或者其中一个项目中存在一个需要每个人都可用的关键错误时,发布序列将推出名称结尾为“.SRX”的“服务版本”,其中“X”是一个数字。

Table 1. Release train Spring Boot compatibility

Release Train

Boot Version


Greenwich



2.1.x



Finchley



2.0.x



Edgware



1.5.x



Dalston



1.5.x


Table 2. Release train contents

Component

Edgware.SR5

Finchley.SR2

Finchley.BUILD-SNAPSHOT


spring-cloud-aws



1.2.3.RELEASE



2.0.1.RELEASE



2.0.1.BUILD-SNAPSHOT



spring-cloud-bus



1.3.3.RELEASE



2.0.0.RELEASE



2.0.1.BUILD-SNAPSHOT



spring-cloud-cli



1.4.1.RELEASE



2.0.0.RELEASE



2.0.1.BUILD-SNAPSHOT



spring-cloud-commons



1.3.5.RELEASE



2.0.2.RELEASE



2.0.2.BUILD-SNAPSHOT



spring-cloud-contract



1.2.6.RELEASE



2.0.2.RELEASE



2.0.2.BUILD-SNAPSHOT



spring-cloud-config



1.4.5.RELEASE



2.0.2.RELEASE



2.0.2.BUILD-SNAPSHOT



spring-cloud-netflix



1.4.6.RELEASE



2.0.2.RELEASE



2.0.2.BUILD-SNAPSHOT



spring-cloud-security



1.2.3.RELEASE



2.0.1.RELEASE



2.0.1.BUILD-SNAPSHOT



spring-cloud-cloudfoundry



1.1.2.RELEASE



2.0.1.RELEASE



2.0.1.BUILD-SNAPSHOT



spring-cloud-consul



1.3.5.RELEASE



2.0.1.RELEASE



2.0.2.BUILD-SNAPSHOT



spring-cloud-sleuth



1.3.5.RELEASE



2.0.2.RELEASE



2.0.2.BUILD-SNAPSHOT



spring-cloud-stream



Ditmars.SR4



Elmhurst.SR1



Elmhurst.BUILD-SNAPSHOT



spring-cloud-zookeeper



1.2.2.RELEASE



2.0.0.RELEASE



2.0.1.BUILD-SNAPSHOT



spring-boot



1.5.16.RELEASE



2.0.6.RELEASE



2.0.7.BUILD-SNAPSHOT



spring-cloud-task



1.2.3.RELEASE



2.0.0.RELEASE



2.0.1.BUILD-SNAPSHOT



spring-cloud-vault



1.1.2.RELEASE



2.0.2.RELEASE



2.0.2.BUILD-SNAPSHOT



spring-cloud-gateway



1.0.2.RELEASE



2.0.2.RELEASE



2.0.2.BUILD-SNAPSHOT



spring-cloud-openfeign




2.0.2.RELEASE



2.0.2.BUILD-SNAPSHOT



spring-cloud-function



1.0.1.RELEASE



1.0.0.RELEASE



1.0.1.BUILD-SNAPSHOT