春云
2020.0.2Spring Cloud为开发人员提供了一些工具,用于快速构建分布式系统中的一些常见模式(例如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话、集群状态)。分布式系统的协调导致了样板模式,使用Spring Cloud开发人员可以快速建立实现这些模式的服务和应用程序。它们在任何分布式环境中都能很好地工作,包括开发者自己的笔记本电脑、裸金属数据中心和像Cloud Foundry这样的托管平台。
特性
Spring Cloud侧重于为典型用例提供良好的开箱即用体验,并提供覆盖其他用例的可扩展性机制。
分布式/版本配置
服务注册和发现
路由
service - to - service调用
负载平衡
断路器
全球锁
领导选举和集群州
分布式消息
开始
生成一个新的春季云项目
最简单的开始方式就是拜访start.m.tujungaca.com,选择您的Spring Boot版本和您想使用的Spring Cloud项目。当你生成项目时,这会将相应的Spring Cloud BOM版本添加到你的Maven/Gradle文件中。
向现有的Spring引导应用程序添加Spring云
如果您有一个现有的Spring Boot应用程序,您想要将Spring Cloud添加到该应用程序中,第一步是确定您应该使用的Spring Cloud版本。你在应用程序中使用的版本将取决于你正在使用的Spring Boot版本。
下表概述了哪个版本的Spring Cloud映射到哪个版本的Spring Boot。
| 释放的火车 | 启动版本 |
|---|---|
2020.0.x又名依尔福 |
2.4.x |
2.2。2.3 x。x(从SR5开始) |
|
2.1.x |
|
内核 |
|
1.5.x |
|
1.5.x |
|
警告 |
Dalston, Edgware, Finchley和Greenwich都已达到生命的终点,不再被支持。 |
Bug修复和向后兼容的特性通过服务发布(SR)添加到每个发布系列中。一旦确定要使用哪个版本的Spring Cloud,就应该使用该版本系列的最新服务版本。您可以在我们的网站找到最新的服务发布信息发行说明页面。
现在,您已经知道了要使用哪个版本,以及该版本的最新服务版本,现在就可以将Spring Cloud BOM添加到应用程序中了。
<属性> < spring.cloud-version > Hoxton.SR8 < /春天。cloud-version> 云< / groupId > < artifactId > spring-cloud-dependencies < / artifactId > <版本> ${春天。 pom import
Buildscript {dependencies {classpath "io.spring.gradle:依赖管理插件:1.0.10。RELEASE"}} ext {set('springCloudVersion', "Hoxton.SR8")} apply plugin: "io.spring.dependency-management" dependencyManagement {imports {mavenBom "org.springframework. spring. js "”云:spring-cloud-dependencies: $ {springCloudVersion}}}
|
请注意 |
释放序列包含spring-cloud-dependencies以及spring-cloud-starter-parent。您可以像使用spring-boot-starter-parent(如果您正在使用Maven)。如果你只需要依赖管理,“依赖”版本是同一件事的bom版本(它只包含依赖管理,没有插件声明或对Spring或Spring Boot的直接引用)。如果您正在使用Spring Boot父POM,那么您可以使用Spring Cloud中的BOM。相反的是不正确的:使用Cloud父类使它不可能,或者至少不可靠,也使用Boot BOM来更改Spring Boot的版本及其依赖。 |
就像Spring Boot一样,许多Spring Cloud项目包括可以作为依赖项添加的启动器,以便向项目中添加各种云原生特性。在许多情况下,许多特性都是通过将starter添加到类路径中来启用的。在各个项目中记录起始名称。下面是一个如何将Spring Cloud Config Client和Spring Cloud Netflix Eureka Client添加到您的应用程序的示例。
<依赖> <依赖> < groupId > org.springframework。spring-cloud- startup -config spring-cloud-starter-netflix-eureka-client 依赖>…< / >的依赖关系
编译org.springframework。云:spring-cloud-starter-config org.springframework“编译”。云:spring-cloud-starter-netflix-eureka-client ' / /……}
主要项目
春云配置
由git存储库支持的集中外部配置管理。配置资源直接映射到Spring环境但如果需要,也可以由非spring应用程序使用。
春云Netflix
与各种Netflix OSS组件集成(Eureka, Hystrix, Zuul, Archaius等)。
春云总线
用于将服务和服务实例与分布式消息传递链接在一起的事件总线。用于在集群间传播状态更改(例如,配置更改事件)。
春云Cloudfoundry
将您的应用程序与枢纽云铸造集成。提供服务发现实现,并使实现SSO和OAuth2保护的资源变得容易。
春季云开放服务代理
为构建实现开放服务代理API的服务代理提供一个起点。
春云计算集群
领导选举和常见的有状态模式的抽象和实现Zookeeper, Redis, Hazelcast, Consul。
春云高
使用Hashicorp Consul进行服务发现和配置管理。
春云安全
在Zuul代理中支持负载均衡的OAuth2 rest客户端和认证头中继。
春云侦探
面向Spring Cloud应用的分布式跟踪,兼容Zipkin、HTrace和基于日志(如ELK)的跟踪。
春季云数据流
用于现代运行时上的可组合微服务应用程序的云本地编配服务。易于使用的DSL、拖放GUI和rest - api一起简化了基于微服务的数据管道的整体编排。
春云流
一个轻量级事件驱动的微服务框架,用于快速构建可以连接到外部系统的应用程序。使用Apache Kafka或RabbitMQ在Spring Boot应用程序之间发送和接收消息的简单声明式模型。
春季云流应用
Spring Cloud Stream应用是开箱即用的Spring Boot应用,使用Spring Cloud Stream中的绑定抽象提供与外部中间件系统的集成,如Apache Kafka, RabbitMQ等。
春云任务
一个短期的微服务框架,用于快速构建执行有限数量数据处理的应用程序。为Spring Boot应用程序添加功能性和非功能性特性的简单声明。
Spring云任务应用程序启动器
Spring Cloud Task App starter是Spring Boot应用程序,可以是任何进程,包括Spring Batch作业,它们不会永远运行,并且在有限的数据处理周期后结束/停止。
春云管理员
使用Apache Zookeeper发现和配置管理服务。
春云连接器
使各种平台上的PaaS应用程序能够很容易地连接到后端服务,如数据库和消息代理(以前称为“Spring Cloud”的项目)。
春云开始
Spring boot风格的启动项目,为Spring Cloud的消费者简化了依赖管理。(在Angel.SR2之后,作为一个项目终止,并与其他项目合并。)
春云CLI
Spring Boot CLI插件,用于在Groovy中快速创建Spring Cloud组件应用程序
春云合同
Spring Cloud Contract是一个包含解决方案的伞状项目,帮助用户成功实现消费者驱动契约方法。
春云网关
Spring Cloud Gateway是一种基于Project Reactor的智能可编程路由器。
春云OpenFeign
Spring Cloud OpenFeign通过自动配置和绑定到Spring Environment和其他Spring编程模型习语,为Spring Boot应用提供集成。
春云管道
Spring Cloud pipes提供了一个独立的部署管道,其中包含了确保应用程序能够以零停机的方式部署和轻松地回滚出现问题的步骤。
春云功能
Spring Cloud Function通过函数促进业务逻辑的实现。它支持跨无服务器提供者的统一编程模型,以及独立运行(本地或在PaaS中)的能力。
释放列车
春云是一个由独立的项目组成的伞式项目,原则上,不同的发布节奏。为了管理项目组合,一个BOM(物料清单)与一组对单个项目的依赖性一起发布。去在这里来阅读发布序列的命名约定。
文档
| 2020.0.2当前的遗传算法 | 参考文档。 | |
| 2020.0.3-SNAPSHOT快照 | 参考文档。 | |
| 霍克顿。SR11遗传算法 | 参考文档。 | |
| 霍克顿。BUILD-SNAPSHOT快照 | 参考文档。 |