Spring Cloud学习(Greenwich版)-01-开篇

前言

springCloud是目前比较火的技术,本系列博客主要是对自己学习过程的一个总结和记录。

主要参考博客

周立的博客    http://www.itmuch.com/

方志朋的博客  https://www.fangzhipeng.com

Spring Cloud简介

尽管Spring Cloud带有“Cloud”的字样,但它并不是云计算解决方案,而是在Spring Boot基础上构建的,用于快速构建分布式系统的通用模式的工具集

使用Spring Cloud开发的应用程序非常适合在Docker或者PaaS(例如Cloud Foundry)上部署,所以又叫做云原生应用(Cloud Native Application)。云原生(Cloud Native)可简单理解为面向云环境的软件架构。说到云原生,就不得不提一下《十二要素应用宣言(12-factor Apps)》,这是云原生架构的方法论与最佳实践。

拓展阅读

核心功能

Spring Cloud Config

Spring Cloud Config
Spring

配置管理工具包,让你可以把配置放到远程服务器,集中化管理集群配置,目前支持本地存储、Git以及Subversion。

Spring Cloud Bus

Spring Cloud Bus
Spring

事件、消息总线,用于在集群(例如,配置变化事件)中传播状态变化,可与Spring Cloud Config联合实现热部署。

Eureka

Eureka
Netflix

云端服务发现,一个基于 REST 的服务,用于定位服务,以实现云端中间层服务发现和故障转移。

Hystrix

Hystrix
Netflix

熔断器,容错管理工具,旨在通过熔断机制控制服务和第三方库的节点,从而对延迟和故障提供更强大的容错能力。

Zuul

Zuul
Netflix

Zuul 是在云平台上提供动态路由,监控,弹性,安全等边缘服务的框架。Zuul 相当于是设备和 Netflix 流应用的 Web 网站后端所有请求的前门。

Archaius

Archaius
Netflix

配置管理API,包含一系列配置管理API,提供动态类型化属性、线程安全配置操作、轮询框架、回调机制等功能。

Consul

Consul
HashiCorp

封装了Consul操作,consul是一个服务发现与配置工具,与Docker容器可以无缝集成。

Spring Cloud for Cloud Foundry

Spring Cloud for Cloud Foundry
Pivotal

通过Oauth2协议绑定服务到CloudFoundry,CloudFoundry是VMware推出的开源PaaS云平台。

Spring Cloud Sleuth

Spring Cloud Sleuth
Spring

日志收集工具包,封装了Dapper和log-based追踪以及Zipkin和HTrace操作,为SpringCloud应用实现了一种分布式追踪解决方案。

Spring Cloud Data Flow

Spring Cloud Data Flow
Pivotal

大数据操作工具,作为Spring XD的替代产品,它是一个混合计算模型,结合了流数据与批量数据的处理方式。

Spring Cloud Security

Spring Cloud Security
Spring

基于spring security的安全工具包,为你的应用程序添加安全控制。

Spring Cloud Zookeeper

Spring Cloud Zookeeper
Spring

操作Zookeeper的工具包,用于使用zookeeper方式的服务发现和配置管理。

Spring Cloud Stream

Spring Cloud Stream
Spring

数据流操作开发包,封装了与Redis,Rabbit、Kafka等发送接收消息。

Spring Cloud CLI

Spring Cloud CLI
Spring

基于 Spring Boot CLI,可以让你以命令行方式快速建立云组件。

Ribbon

Ribbon
Netflix

提供云端负载均衡,有多种负载均衡策略可供选择,可配合服务发现和断路器使用。

Turbine

Turbine
Netflix

Turbine是聚合服务器发送事件流数据的一个工具,用来监控集群下hystrix的metrics情况。

Feign

Feign
OpenFeign

Feign是一种声明式、模板化的HTTP客户端。

Spring Cloud Task

Spring Cloud Task
Spring

提供云端计划任务管理、任务调度。

Spring Cloud Connectors

Spring Cloud Connectors
Spring

便于云端应用程序在各种PaaS平台连接到后端,如:数据库和消息代理服务。

Spring Cloud Cluster

Spring Cloud Cluster
Spring

提供Leadership选举,如:Zookeeper, Redis, Hazelcast, Consul等常见状态模式的抽象和实现。

Spring Cloud Starters

Spring Cloud Starters
Pivotal

Spring Boot式的启动项目,为Spring Cloud提供开箱即用的依赖管理。

 

版本简介

我们知道,大多数Spring项目都是以“主版本号.次版本号.增量版本号.里程碑版本号”的形式命名版本号的,例如Spring Framework稳定版本4.3.5.RELEASE、里程碑版本5.0.0.M4等。其中,主版本号表示项目的重大重构;次版本号表示新特性的添加和变化;增量版本号一般表示bug修复;里程碑版本号表示某版本号的里程碑。

然而,Spring Cloud并未使用这种方式管理版本。下面我们来详细探讨一下Spring Cloud的版本。

我们来看一下Spring Cloud的版本,如图所示。

由图可知,Spring Cloud是以英文单词 SRX 的形式命名版本号的。那么英文单词和SR分别表示什么呢?

Spring Cloud是一个综合项目,它包含很多的子项目。由于子项目也维护着自己的版本号,Spring Cloud采用了这种版本命名方式,从而避免与子项目的版本混淆。其中,英文单词叫做“release train”,Angel、Brixton、Camden等都是伦敦地铁站的名称,它们按照字母顺序发行,我们可将其理解为主版本的演进。SR表示“Service Release”,一般表示Bug修复;在SR版本发布之前,会先发布一个Release版本,例如Camden RELEASE。

经过以上讲解,相信大家就能很好地理解Spring Cloud的版本了。例如,Camden SR3表示Camden版本的第3次Bug修复版本。

TIPS

子项目一览

理解Spring Cloud的版本后,我们来看一下各版本Spring Cloud包含的子项目及版本。不同的Spring Cloud版本有不同的子项目:

ComponentEdgware.SR5Finchley.SR2Finchley.BUILD-SNAPSHOT
spring-cloud-aws1.2.3.RELEASE2.0.1.RELEASE2.0.1.BUILD-SNAPSHOT
spring-cloud-bus1.3.3.RELEASE2.0.0.RELEASE2.0.1.BUILD-SNAPSHOT
spring-cloud-cli1.4.1.RELEASE2.0.0.RELEASE2.0.1.BUILD-SNAPSHOT
spring-cloud-commons1.3.5.RELEASE2.0.2.RELEASE2.0.2.BUILD-SNAPSHOT
spring-cloud-contract1.2.6.RELEASE2.0.2.RELEASE2.0.2.BUILD-SNAPSHOT
spring-cloud-config1.4.5.RELEASE2.0.2.RELEASE2.0.2.BUILD-SNAPSHOT
spring-cloud-netflix1.4.6.RELEASE2.0.2.RELEASE2.0.2.BUILD-SNAPSHOT
spring-cloud-security1.2.3.RELEASE2.0.1.RELEASE2.0.1.BUILD-SNAPSHOT
spring-cloud-cloudfoundry1.1.2.RELEASE2.0.1.RELEASE2.0.1.BUILD-SNAPSHOT
spring-cloud-consul1.3.5.RELEASE2.0.1.RELEASE2.0.2.BUILD-SNAPSHOT
spring-cloud-sleuth1.3.5.RELEASE2.0.2.RELEASE2.0.2.BUILD-SNAPSHOT
spring-cloud-streamDitmars.SR4Elmhurst.SR1Elmhurst.BUILD-SNAPSHOT
spring-cloud-zookeeper1.2.2.RELEASE2.0.0.RELEASE2.0.1.BUILD-SNAPSHOT
spring-boot1.5.16.RELEASE2.0.6.RELEASE2.0.7.BUILD-SNAPSHOT
spring-cloud-task1.2.3.RELEASE2.0.0.RELEASE2.0.1.BUILD-SNAPSHOT
spring-cloud-vault1.1.2.RELEASE2.0.2.RELEASE2.0.2.BUILD-SNAPSHOT
spring-cloud-gateway1.0.2.RELEASE2.0.2.RELEASE2.0.2.BUILD-SNAPSHOT
spring-cloud-openfeign 2.0.2.RELEASE2.0.2.BUILD-SNAPSHOT
spring-cloud-function1.0.1.RELEASE1.0.0.RELEASE1.0.1.BUILD-SNAPSHOT

Spring Cloud/Spring Boot兼容性【重要】

Spring Cloud版本Spring Boot版本
Greenwich2.1.x
Finchley2.0.x
Edgware1.5.x
Dalston1.5.x

可前往https://spring.io/projects/spring-cloud#overview查看版本兼容性。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值