Spring Cloud 全家桶 入门介绍

Spring Cloud 全家桶 入门介绍

 

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);
	}
}

 

主要项目

 

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其余客户端和身份验证标头中继提供支持。

 

Spring Cloud Sleuth

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

 

Spring Cloud Data Flow 

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

 

Spring Cloud Steam

轻量级的事件驱动型微服务框架,用于快速构建可以连接到外部系统的应用程序。在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 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 Environment和其他Spring编程模型惯用法为Spring Boot应用程序提供集成。

 

Spring Cloud Pipelines

Spring Cloud Pipelines提供了一个可靠的部署管道,其中包含一些步骤,以确保您的应用程序可以零停机时间进行部署,并且可以轻松回滚某些错误。

 

Spring Cloud Function

Spring Cloud Function通过功能促进业务逻辑的实现。它支持跨无服务器提供程序的统一编程模型,以及独立运行(本地或在PaaS中)的功能。

 

Release Trains

Spring Cloud是一个总括项目,由原则上具有不同发布节奏的独立项目组成。为了管理项目组合,将发布BOM(物料清单),并带有对单个项目的精选依赖关系集(请参见下文)。发行列车的名称而不是版本,以避免与子项目混淆。名称是按字母顺序排列的(因此您可以按时间顺序对其进行排序),带有伦敦地铁站的名称(“ Angel”是第一个发行版,“ Brixton”是第二个发行版)。当各个项目的点发布积累到一定数量时,或者如果其中一个关键错误需要所有人使用,则发布系列将推出名称以“ .SRX”结尾的“服务版本”,其中“ X”是数字。

表1.发布火车Spring Boot兼容性
发布火车 开机版本

霍克斯顿

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的版本及其依赖关系成为不可能,或者至少是不可靠的。

 

Talks and Videos

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章