Spring Cloud为开发人员提供了工具,以快速构建分布式系统中的一些常见模式(例如,配置管理,服务发现,断路器,智能路由,微代理,控制总线,一次性令牌,全局锁,领导选举,分布式会话,群集状态)。分布式系统的协调导致样板式样,并且使用Spring Cloud开发人员可以快速站起来实现这些样板的服务和应用程序。它们可以在任何分布式环境中正常工作,包括开发人员自己的笔记本电脑,裸机数据中心以及Cloud Foundry等托管平台。
Spring Cloud专注于为典型的用例和可扩展性机制(包括其他用例)提供良好的开箱即用体验。
分布式/版本化配置
服务注册和发现
路由
服务到服务的呼叫
负载均衡
断路器
全局锁
领导选举和集群状态
分布式消息传递
Spring Cloud采用了一种非常声明性的方法,通常只需更改类路径和/或注释即可获得许多功能。作为发现客户端的示例应用程序:
@SpringBootApplication
@EnableDiscoveryClient
public class Application {public static void main(String[] args) {SpringApplication.run(Application.class, args);}
}
由git存储库支持的集中式外部配置管理。配置资源直接映射到Spring,Environment
但如果需要,可以由非Spring应用程序使用。
与各种Netflix OSS组件(Eureka,Hystrix,Zuul,Archaius等)集成。
事件总线,用于将服务和服务实例与分布式消息传递链接在一起。对于在群集中传播状态更改(例如配置更改事件)很有用。
将您的应用程序与Pivotal Cloud Foundry集成。提供服务发现实现,还可以轻松实现SSO和OAuth2保护的资源。
为构建实现Open Service Broker API的服务代理提供起点。
Zookeeper,Redis,Hazelcast和Consul的领导层选举和常见状态模式以及抽象和实现。
使用Hashicorp Consul进行服务发现和配置管理。
为Zuul代理中的负载平衡的OAuth2其余客户端和身份验证标头中继提供支持。
Spring Cloud应用程序的分布式跟踪,与Zipkin,HTrace和基于日志(例如ELK)的跟踪兼容。
针对现代运行时可组合微服务应用程序的云原生编排服务。易于使用的DSL,拖放式GUI和REST-API共同简化了基于微服务的数据管道的总体编排。
轻量级的事件驱动型微服务框架,用于快速构建可以连接到外部系统的应用程序。在Spring Boot应用程序之间使用Apache Kafka或RabbitMQ发送和接收消息的简单声明性模型。
Spring Cloud Stream App Starters是基于Spring Boot的Spring Integration应用程序,可与外部系统集成。
一个短暂的微服务框架,可快速构建执行有限数量数据处理的应用程序。用于向Spring Boot应用程序添加功能和非功能功能的简单声明。
Spring Cloud Task App Starters是Spring Boot应用程序,可以是任何进程,包括不会永远运行的Spring Batch作业,它们在有限的数据处理周期后结束/停止。
使用Apache Zookeeper进行服务发现和配置管理。
使各种平台上的PaaS应用程序轻松连接到后端服务,例如数据库和消息代理(该项目以前称为“ Spring Cloud”)。
Spring Boot风格的启动程序项目可以简化Spring Cloud使用者的依赖关系管理。(作为一个项目停产,并在Angel.SR2之后与其他项目合并。)
Spring Boot CLI插件,用于在Groovy中快速创建Spring Cloud组件应用程序
Spring Cloud Contract是一个总括项目解决方案,可帮助用户成功实施“消费者驱动合同”方法。
Spring Cloud Gateway是基于Project Reactor的智能可编程路由器。
Spring Cloud OpenFeign通过自动配置并绑定到Spring Environment和其他Spring编程模型惯用法为Spring Boot应用程序提供集成。
Spring Cloud Pipelines提供了一个可靠的部署管道,其中包含一些步骤,以确保您的应用程序可以零停机时间进行部署,并且可以轻松回滚某些错误。
Spring Cloud Function通过功能促进业务逻辑的实现。它支持跨无服务器提供程序的统一编程模型,以及独立运行(本地或在PaaS中)的功能。
Spring Cloud是一个总括项目,由原则上具有不同发布节奏的独立项目组成。为了管理项目组合,将发布BOM(物料清单),并带有对单个项目的精选依赖关系集(请参见下文)。发行列车的名称而不是版本,以避免与子项目混淆。名称是按字母顺序排列的(因此您可以按时间顺序对其进行排序),带有伦敦地铁站的名称(“ Angel”是第一个发行版,“ Brixton”是第二个发行版)。当各个项目的点发布积累到一定数量时,或者如果其中一个关键错误需要所有人使用,则发布系列将推出名称以“ .SRX”结尾的“服务版本”,其中“ X”是数字。
发布火车 | 开机版本 |
---|---|
霍克斯顿 | 2.2.x |
格林威治 | 2.1.x |
芬奇利 | 2.0.x |
埃奇韦尔 | 1.5.x |
达斯顿 | 1.5.x |
Greenwich可以构建并与Spring Boot 2.1.x一起使用,并且不能与Spring Boot 1.5.x一起使用。
注:达尔斯顿发布列车将达到最终的寿命在2018年十二月埃奇韦尔将遵循春季启动1.5.x.的结束生命周期
Dalston和Edgware发行列车建立在Spring Boot 1.5.x上,并且不能与Spring Boot 2.0.x一起使用。
卡姆登发行机车的寿命已结束。 |
Camden发布系列基于Spring Boot 1.4.x构建,但也已在1.5.x上进行了测试。
2017年7月 ,布里克斯顿(Brixton)和天使(Angel)发行列车被标记为报废(EOL)。 |
Brixton发布系列基于Spring Boot 1.3.x构建,但也已在1.4.x上进行了测试。
Angel发布系列基于Spring Boot 1.2.x构建,并且在某些方面与Spring Boot 1.3.x不兼容。Brixton建立在Spring Boot 1.3.x之上,并且与1.2.x不兼容。一些库和大多数基于Angel构建的应用程序都可以在Brixton上正常运行,但是在使用spring-cloud-security 1.0.x的OAuth2功能的任何地方都需要进行更改(它们大多在1.3.0中移至Spring Boot)。
使用依赖性管理工具来控制版本。如果您使用的是Maven,请记住第一个声明为Win的版本,因此请按顺序声明BOM,第一个通常是最新的(例如,如果您想将Spring Boot 1.3.6与Brixton.RELEASE一起使用,则将Boot BOM放入)第一)。如果您使用Spring依赖管理插件,则同样的规则适用于Gradle。
发行火车包含 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 Cloud入门指南
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态