开发者社区> 游客a4oswvtctqbx6> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

什么是 Spring Cloud ?

简介: Spring Cloud 为开发者提供了快速构建分布式系统中一些常见模式的工具(例如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话、集群状态)
+关注继续查看

Spring Cloud 为开发者提供了快速构建分布式系统中一些常见模式的工具(例如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话、集群状态)。分布式系统的协调导致了样板模式,使用 Spring Cloud 开发人员可以快速建立实现这些模式的服务和应用程序。它们将适用于任何分布式环境,包括开发人员自己的笔记本电脑、裸机数据中心和托管平台(如 Cloud Foundry)。

73003.jpg

特征

Spring Cloud 专注于为典型用例和可扩展性机制提供良好的开箱即用体验以覆盖其他用例。

分布式/版本化配置

服务注册和发现

路由

服务到服务呼叫

负载均衡

断路器

全局锁

领导选举和集群状态

分布式消息传递

入门

生成一个新的 Spring Cloud 项目

最简单的入门方法是访问start.spring.io,选择您的 Spring Boot 版本和您要使用的 Spring Cloud 项目。这将在您生成项目时将相应的 Spring Cloud BOM 版本添加到您的 Maven/Gradle 文件中。

将 Spring Cloud 添加到现有的 Spring Boot 应用程序

如果您想要将 Spring Cloud 添加到该应用程序的现有 Spring Boot 应用程序,第一步是确定您应该使用的 Spring Cloud 版本。您在应用中使用的版本取决于您使用的 Spring Boot 版本。

下表概述了 Spring Cloud 的哪个版本映射到 Spring Boot 的哪个版本。

发布系列 Spring Boot 兼容性

8202.png

Spring Cloud Dalston、Edgware、Finchley 和 Greenwich 都已达到生命周期终止状态,不再受支持。

通过服务版本 (SR) 将错误修复和向后兼容功能添加到每个版本系列中。确定要使用哪个版本的 Spring Cloud 后,您应该使用该版本系列的最新服务版本。您可以在我们的发布说明页面上找到最新的服务发布信息。

既然您知道要使用哪个版本系列以及该版本系列的最新服务版本,您就可以将 Spring Cloud BOM 添加到您的应用程序中。

<properties>


<spring.cloud-version>Hoxton.SR8</spring.cloud-version>


</properties>

<dependencyManagement>


<dependencies>


<dependency>


<groupId>org.springframework.cloud</groupId>


<artifactId>spring-cloud-dependencies</artifactId>


<version>${spring.cloud-version}</version>


<type>pom</type>


<scope>import</scope>


</dependency>


</dependencies>


</dependencyManagement>

buildscript {

dependencies {

classpath "io.spring.gradle:dependency-management-plugin:1.0.10.RELEASE"

}

}

ext {

set(‘springCloudVersion’, “Hoxton.SR8”)

}

apply plugin: “io.spring.dependency-management”

dependencyManagement {

imports {

mavenBom "org.springframework.cloud: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 项目都包含 starters,您可以将其添加为依赖项,以将各种云原生功能添加到您的项目中。在许多情况下,许多功能纯粹是通过将 starter 添加到类路径来启用的。起始名称记录在各个项目中。下面是一个示例,说明如何将 Spring Cloud Config Client 和 Spring Cloud Netflix Eureka 客户端添加到您的应用程序中。

<dependencies>


<dependency>


<groupId>org.springframework.cloud</groupId>


<artifactId>spring-cloud-starter-config</artifactId>


</dependency>


<dependency>


<groupId>org.springframework.cloud</groupId>


<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>


</dependency>



</dependencies>

dependencies {

compile ‘org.springframework.cloud:spring-cloud-starter-config’

compile ‘org.springframework.cloud:spring-cloud-starter-netflix-eureka-client’

//…

}

入门资源

Spring Cloud 初学者指南

主要项目

春云配置

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

春云 Netflix

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

春云巴士

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

Spring Cloud Cloudfoundry

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

Spring Cloud 开放服务代理

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

Spring Cloud 集群

领导选举和通用状态模式,具有 Zookeeper、Redis、Hazelcast、Consul 的抽象和实现。

Spring Cloud 领事

使用 Hashicorp Consul 进行服务发现和配置管理。

春云安全

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

春云侦探

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

Spring Cloud 数据流

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

春云流

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

Spring Cloud Stream 应用程序

Spring Cloud Stream 应用程序是开箱即用的 Spring Boot 应用程序,使用 Spring Cloud Stream 中的绑定器抽象提供与外部中间件系统(如 Apache Kafka、RabbitMQ 等)的集成。

Spring Cloud 任务

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

Spring Cloud Task 应用启动器

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

春云动物园管理员

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

Spring Cloud 连接器

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

Spring Cloud 初学者

Spring Boot 风格的启动项目,以简化 Spring Cloud 消费者的依赖管理。(作为一个项目停止并与Angel.SR2之后的其他项目合并。)

Spring Cloud CLI

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

Spring Cloud 合约

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

春云网关

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

Spring Cloud OpenFeign

Spring Cloud OpenFeign 通过自动配置和绑定到 Spring Environment 和其他 Spring 编程模型习语,为 Spring Boot 应用程序提供集成。

Spring Cloud 管道

Spring Cloud Pipelines 提供了一个自以为是的部署管道,其中包含确保您的应用程序可以以零停机时间的方式部署并轻松回滚出现问题的步骤。

春云功能

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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
一篇文章带你了解Spring Cloud 基础组件
想学习Spring Cloud,需要哪些基础,需要了解哪些spring cloud模块?今天一篇文章带你了解Spring Cloud 基础。
0 0
Spring Cloud Alibaba之nacos
Spring Cloud Alibaba之nacos
0 0
【微服务】微服务Spring Cloud Alibaba核心概念总结
【微服务】微服务Spring Cloud Alibaba核心概念总结
0 0
Spring Cloud 学习笔记06-02----用Hystrix来限流以及进行服务隔离
上一篇我们介绍了Spring Cloud 学习笔记06----断路器(Hystrix)(Finchley版本)。那一篇主要是介绍Hystrix用来做熔断处理。这一篇我们将重点介绍一下用Hystrix来做限流器以及服务隔离器。
0 0
云原生之快速使用Nacos Spring Cloud
云原生之快速使用Nacos Spring Cloud
0 0
Spring Cloud面试题
如果 firstPage method() 中的异常继续发生,则 Hystrix 电路将中断,并且员工使用者将一起跳过 firtsPage 方法,并直接调用回退方法。 断路器的目的是给第一页方法或第一页方法可能调用的其他方法留出时间,并导致异常恢复。可能发生的情况是,在负载较小的情况下,导致异常的问题有更好的恢复机会 。
0 0
Spring Cloud 学习笔记08----服务消费者(Feign)(Finchley版本)
接上一篇《Spring Cloud 学习笔记06----断路器(Hystrix)(Finchley版本)》,今天我们来学习另外一种服务调用方式(Feign),之前我们介绍了 RestTemplate+Ribbon 消费服务的方式。
0 0
Spring Cloud 学习笔记06----断路器(Hystrix)(Finchley版本)
接上一篇Spring Cloud 学习笔记04----服务消费者(RestTemplate+Ribbon(客户端负载均衡)),接下来我们来学习另外一个组件 断路器(Hystrix)。
0 0
Spring Cloud 学习笔记04----服务消费者(RestTemplate+Ribbon(客户端负载均衡))
上一篇《Spring Cloud 学习笔记02----服务治理》我们讲到了服务的注册与发现,在微服务框架中,我们将服务拆分成一个个独立部署的子服务,这些服务通过http rest 来通讯的,Spring Cloud有两种服务调用方式,一种是 RestTemplate+Ribbon, 另外一种是Feign 。
0 0
Spring Cloud 学习笔记02----服务治理
上一篇《Spring Cloud 学习笔记01----微服务简介》我们简单的对Spring Cloud做了个介绍。接下来我们接着学习Spring Cloud 的一个核心组件 Spring Cloud Eureka。Spring Cloud Eureka主要负责完成微服务架构中的服务治理功能,其包括 服务注册中心,服务注册与发现机制。 我们将从如下几个方面学习Eureka
0 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
云上Docker的Spring Cloud微服务应用实践分享
立即下载
云上Docker的Spring Cloud微服务应用实践分享
立即下载
Spring Cloud Alibaba - 重新定义 Java Cloud-Native
立即下载