Spring Cloud技术概览

Spring Cloud技术概览

前言

架构演变–微服务Spring Cloud
这篇博客介绍了Spring Cloud的由来及什么是Spring Cloud,今天一起看下Spring Cloud有什么. Spring Cloud 主要项目有24个,如下:

主要项目

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服务集成。它提供了一种使用众所周知的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项目是由多个独立项目集合而成的,每个项目都是独立的,各自进行自己的迭代和版本发布。所以Spring Cloud不方便使用版本号来管理,而是使用版本名。以避免和子项目版本号的冲突。

版本名的来源是伦敦的地铁站名,以字母排序。比如最早的Release版本为Angel,第二个Release版本为Brixton。 当各个项目的点数累积到临界质量时,或者其中一个项目中存在一个需要每个人都可用的关键错误时,那么发布序列将推出名称以“.SRX”结尾的“服务版本”, 其中“X”是一个数字。

Spring BootSpring Cloud
1.2.xAngel
1.3.x,1.4.xBrixton
1.4.x ,1.5.xCamden
1.5.x,不兼容2.0.xDalston,Edgware
2.0.x,不兼容1.5.xFinchley
2.1.xGreenwich
2.2.xHoxton
  • 使用依赖项管理工具控制版本。如果您正在使用Maven,请记住,第一个已声明的版本是成功的,因此请按顺序声明BOMs,第一个版本通常是最近的版本(例如,如果您想在Brixton中使用Spring
    Boot 1.3.6)。发布,首先放置Boot的BOM)。如果使用Spring dependency
    management插件,同样的规则也适用于Gradle。

请注意

  • 发布系列包含spring-cloud-dependencies和spring-cloud-starter-parent。可以像使用spring-boot-starter-parent一样使用父类(如果使用Maven)。如果您只需要依赖关系管理,那么“依赖关系”版本是同一件事的仅bom版本(它只包含依赖关系管理,没有插件声明或对Spring或Spring
    Boot的直接引用)。如果使用Spring Boot父POM,则可以使用Spring Cloud中的BOM。反之则不然:使用Cloud
    parent使得同时使用Boot BOM更改Spring Boot版本及其依赖项变得不可能,或者至少是不可靠的。

小提示: 关于BOM,请查看以下这篇文章 Spring IO Platform:解决依赖版本冲突

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一个处女座的程序媛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值