简介Spring Cloud项目的官方网址:https://projects.spring.io/spring-cloud/
Spring Cloud 并不是一个项目,而是一组项目的集合。在 Spring Cloud中包含了很多的子项目,每一个子项目都是一种微服务开发过程中遇到的问题的一种解决方案。它利用 Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用 Spring Boot的开发风格做到一键启动和部署。Spring Cloud并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。
子项目介绍
Spring Cloud Aws:用于简化整合 Amazon Web Service 的组件
Spring Cloud Bus:事件、消息总线,用于在集群(例如,配置变化事件)中传播状态变化,可与 Spring Cloud Config 联合实现热部署。
Spring Cloud Cli:基于 Spring Boot CLI,可以让你以命令行方式快速建立云组件。
Spring Cloud Commons:服务发现、负载均衡、熔断机制这种模式为 Spring Cloud 客户端提供了一个通用的抽象层。
Spring Cloud Config:配置管理开发工具包,可以让你把配置放到远程服务器,目前支持本地存储、Git 以及 Subversion。
Spring Cloud Contract
Spring Cloud Netflix:针对多种 Netflix 组件提供的开发工具包,其中包括 Eureka、Hystrix、Zuul、Archaius 等。
Spring Cloud Security :安全工具包
Spring Cloud Cloudfoundry:通过 Oauth2 协议绑定服务到 CloudFoundry,CloudFoundry 是 VMware 推出的开源 PaaS 云平台
Spring Cloud Consul:封装了 Consul 操作,consul 是一个服务发现与配置工具,与 Docker 容器可以无缝集成。
Spring Cloud Sleuth:日志收集工具包,封装了 Dapper,Zipkin 和 HTrace 操作. Spring Cloud 应用的分布式跟踪实现
Spring Cloud Stream:数据流操作开发包,封装了与 Redis,Rabbit、Kafka 等发送接收消息,实现的消息微服务。
Spring Cloud Zookeeper:基于 ZooKeeper 的服务发现与配置管理组件
Spring Boot
Spring Cloud Task:用于快速构建数据处理的应用
Spring Cloud Gateway:Spring Cloud 网关相关的整合实现
Spring Cloud 的版本介绍
当我们通过搜索引擎查找一些Spring Cloud的文章或者示例的时候,往往可以在依赖中看到很多不同版本的名字, 比如: Angel.SR6, Brixton.SR5 等.那么为什么 Spring Cloud 没有像其他的 Spring 的项目使用类似 1.x.x 版本命名规则呢?
由于 Spring Cloud 不像 Spring 社区其他项目那样相对独立,它是拥有诸多子项目的大型综合项目. 可以说是对微服务架构解决方案的综合套件的组合,起包含的各个子项目也都是进行独立的更新和迭代,各自都维护自己的发布版本号.因此每一个 Spring Cloud 的版本都会包含多个不同版本的子项目,为了管理每一个版本的子项目清单,避免 Spring Cloud 的版本号与其子项目的版本号相混淆,没有采用版本号的方式,而是通过命名的方式。
我们也可以在 spring 的官网上查看到对应的最新稳定版本信息: https://projects.spring.io/spring-cloud/
并且也可以看到最新 Edgware.SR4 稳定版对应的子项目的各个版本号
关于 Spring Cloud 的历史版本信息我们可以在 github 上查看到: https://github.com/spring-cloud/spring-cloud-release/releases
我们本次讲解的是最新的稳定版本 Edgware.SR4 , 是基于 Spring Boot 1.5.14.RELEASE 版本实现的。