1.版本说明
Spring Cloud不同于其它独立项目,它是拥有众多子项目的项目集合,为避免与子项目的发布号混淆,所以没有采用版本号的方式,而是通过命名的方式,如Finchley M9和Edgware SR3。Finchley和Edgware是版本名,名称的命名方式采用了伦敦地铁站的名称,同时根据字母表的顺序来对应版本时间顺序,比如:最早的Release版本:Angel,第二个Release版本:Brixton,然后是Camden、Dalston、Edgware,目前最新的是Finchley版本,而M9和SR3是版本号。M是里程碑的含义,M9就是指第九个里程碑,SR则代表着稳定版本,后面一般有一个递增的数字,例如SR3就是指第三个发布的版本。下表列出了这两个版本所包含的子项目及各子项目的版本号。
Component | Edgware.SR3 | Finchley.M9 | Finchley.BUILD-SNAPSHOT |
---|---|---|---|
spring-cloud-aws | 1.2.2.RELEASE | 2.0.0.M4 | 2.0.0.BUILD-SNAPSHOT |
spring-cloud-bus | 1.3.2.RELEASE | 2.0.0.M7 | 2.0.0.BUILD-SNAPSHOT |
spring-cloud-cli | 1.4.1.RELEASE | 2.0.0.M1 | 2.0.0.BUILD-SNAPSHOT |
spring-cloud-commons | 1.3.3.RELEASE | 2.0.0.M9 | 2.0.0.BUILD-SNAPSHOT |
spring-cloud-config | 1.4.3.RELEASE | 2.0.0.M9 | 2.0.0.BUILD-SNAPSHOT |
spring-cloud-netflix | 1.4.4.RELEASE | 2.0.0.M8 | 2.0.0.BUILD-SNAPSHOT |
spring-cloud-security | 1.2.2.RELEASE | 2.0.0.M3 | 2.0.0.BUILD-SNAPSHOT |
spring-cloud-cloudfoundry | 1.1.1.RELEASE | 2.0.0.M3 | 2.0.0.BUILD-SNAPSHOT |
spring-cloud-consul | 1.3.3.RELEASE | 2.0.0.M7 | 2.0.0.BUILD-SNAPSHOT |
spring-cloud-sleuth | 1.3.3.RELEASE | 2.0.0.M9 | 2.0.0.BUILD-SNAPSHOT |
spring-cloud-stream | Ditmars.SR3 | Elmhurst.RC3 | Elmhurst.BUILD-SNAPSHOT |
spring-cloud-zookeeper | 1.2.1.RELEASE | 2.0.0.M7 | 2.0.0.BUILD-SNAPSHOT |
spring-boot | 1.5.10.RELEASE | 2.0.0.RELEASE | 2.0.0.BUILD-SNAPSHOT |
spring-cloud-task | 1.2.2.RELEASE | 2.0.0.M3 | 2.0.0.RELEASE |
spring-cloud-vault | 1.1.0.RELEASE | 2.0.0.M6 | 2.0.0.BUILD-SNAPSHOT |
spring-cloud-gateway | 1.0.1.RELEASE | 2.0.0.M9 | 2.0.0.BUILD-SNAPSHOT |
spring-cloud-openfeign | 2.0.0.RELEASE | 2.0.0.BUILD-SNAPSHOT |
2.Spring Cloud 组成
Spring Cloud 是在Spring Boot 的基础上构建的,用于简化分布式系统构建的工具集,为开发人员提供快速建立分布式系统中一些常见的组件。Spring Cloud 技术体系如图
Spring Cloud 包含的组件众多,各个组件都有各自不同的特色和优点,为用户提供丰富的选择:
- 服务注册与发现组件:Eureka、consul和Zookeeper;其中Eureka是一个REST风格的服务注册与发现的基础服务组件。
- 服务调用组件:Hystrix、Ribbon和OpenFeigin;其中Hystrix 具备服务降级、服务熔断、线程和信号隔离、请求缓存、请求合并以及服务监控等强大功能;Ribbon用于提供客户端的负载均衡算法,还提供了一系列完善的配置项如连接超时、重试等;OpenFeigin是一个声明式RESTful网络请求客户端,它使编写Web服务端变得更加方便和快捷。
- 路由和过滤组件:包括Zuul和Spring Cloud Gateway。Spring Cloud Gateway提供了一个构建在Spring Ecosystem之上的API网关,旨在提供一种简单而有效的途径来发送API,并向他们提供交叉关注点,例如:安全性,监控/指标和弹性。
- 配置中心组件:Spring Cloud Config 实现了配置集中管理、动态刷新等配置中心的功能。配置通过git或者简单文件来存储,支持加密解密。
- 消息组件:Spring Cloud Stream 和Spring Cloud Bus。Spring Cloud Stream 为一些供应商的消息中间件产品提供了个性化的自动化配置实现,并引入了发布-订阅、消费组、分区这三个核心概念。Spring Cloud Bus 主要提供了服务间的事件通信(如刷新配置)。
- 安全控制组件:Spring Cloud Security 基于OAuth2.0 开放网络的安全标准,提供了微服务环境下的单点登录、资源授权和令牌管理等功能。
- 链路监控组件:Spring Cloud Sleuth 提供了全自动、可配置的数据埋点,以收集微服务调用链路上的性能数据,并可以结合Zipkin 进行数据存储、统计和展示。