Spring Cloud—二、Spring Cloud简介

2.1、简介

官网: http://spring.io/projects/spring-cloud
Spring Cloud是一个基于Spring Boot实现的微服务架构开发工具。它为微服务架构中涉及的配置管理、服务治理、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等操作提供了一种简单的开发方式。

2.2、Spring Cloud子项目

Component Camden.SR7 Dalston.SR3 Edgware.M1 Finchley.M2 Finchley.BUILD-SNAPSHOT 备注
spring-cloud-aws 1.1.4.RELEASE 1.2.1.RELEASE 1.2.1.RELEASE 2.0.0.M1 2.0.0.BUILD-SNAPSHOT 用于简化整合Amazon Web Service的组件
spring-cloud-bus 1.2.2.RELEASE 1.3.1.RELEASE 1.3.1.RELEASE 2.0.0.M1 2.0.0.BUILD-SNAPSHOT 事件、消息总线,用于传播集群中的状态变化或事件。
spring-cloud-commons 1.1.9.RELEASE 1.2.3.RELEASE 1.3.0.M1 2.0.0.M2 2.0.0.BUILD-SNAPSHOT 服务发现、负载均衡、熔断机制这种模式为Spring Cloud客户端提供了一个通用的抽象层
spring-cloud-cli 1.2.4.RELEASE 1.3.4.RELEASE 1.4.0.M1 2.0.0.M1 2.0.0.BUILD-SNAPSHOT 用于在Groovy平台创建Spring Cloud应用
spring-cloud-contract 1.0.5.RELEASE 1.1.3.RELEASE 1.2.0.M1 2.0.0.M2 2.0.0.BUILD-SNAPSHOT
spring-cloud-config 1.2.3.RELEASE 1.3.2.RELEASE 1.4.0.M1 2.0.0.M2 2.0.0.BUILD-SNAPSHOT 配置管理工具,支持使用git、svn等存储配置文件。并在支持客户端配置信息的刷新,加密解密配置内容等。
spring-cloud-netflix 1.2.7.RELEASE 1.3.4.RELEASE 1.4.0.M1 2.0.0.M2 2.0.0.BUILD-SNAPSHOT 核心组件,对多个Netflix OSS开源套件进行整合
spring-cloud-security 1.1.2.RELEASE 1.2.1.RELEASE 1.2.1.RELEASE 2.0.0.M1 2.0.0.BUILD-SNAPSHOT 安全工具包
spring-cloud-cloudfoundry 1.0.1.RELEASE 1.1.0.RELEASE 1.1.0.RELEASE2.0.0.M1 2.0.0.BUILD-SNAPSHOT 整合Pivotal Cloudfoundry(Vmware推出的业界第一个开源Paas云平台)支持。
spring-cloud-consul 1.1.4.RELEASE 1.2.1.RELEASE 1.2.1.RELEASE 2.0.0.M1 2.0.0.BUILD-SNAPSHOT 服务发现与配置管理工具
spring-cloud-sleuth 1.1.3.RELEASE 1.2.4.RELEASE 1.3.0.M1 2.0.0.M2 2.0.0.BUILD-SNAPSHOT Spring Cloud应用的分布式跟踪实现
spring-cloud-stream Brooklyn.SR3 Chelsea.SR2 Ditmars.M2 Elmhurst.M1 Elmhhurst.BUILD-SNAPSHOT 通过Redis、RabbitMQ、kafka实现的消息服务
spring-cloud-zookeeper 1.0.4.RELEASE 1.1.2.RELEASE 1.2.0.M1 2.0.0.M1 2.0.0.BUILD-SNAPSHOT 基于Zookeeper的服务发现与配置管理组件
spring-boot 1.4.5.RELEASE 1.5.4.RELEASE 1.5.6.RELEASE 2.0.0.M3 2.0.0.M3
spring-cloud-task 1.0.3.RELEASE 1.1.2.RELEASE 1.2.0.RELEASE 2.0.0.M1 2.0.0.RELEASE 用于快速构建数据处理的应用
spring-cloud-vault 1.0.2.RELEASE 1.1.0.M1 2.0.0.M2 2.0.0.BUILD-SNAPSHOT
spring-cloud-gateway 1.0.0.M1 2.0.0.M2 2.0.0.BUILD-SNAPSHOT Spring Cloud网关相关的整合实现

2.3、版本说明

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

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


官方版本.png

这些版本的名字采用了伦敦地铁站的名字,根据字母表的顺序来对应版本时间顺序,比如最早的Release版本为Angel,第二个Release版本为Brixton....

经过上面的解释,不难猜出,之前所提到的Angel.SR6、Brixton.SR5中的SR6、SR5就是版本号了。

当一个版本的Spring Cloud项目的发布内容积累到临界点或者一个严重bug解决可用后,就会发布一个"service releases"版本,简称SRX版本,其中X是一个递增的数字,所以Brixton.SR5就是Brixtom的第5个Release版本。

2.4 Spring Cloud框架特点

  • 特定优于配置。
  • 适用于各种环境。开发、部署在PC Server或各种云环境(例如阿里云、AWS等)均可。
  • 隐藏了组件的复杂性,并提供声明式、无XML的配置方式。
  • 开箱即用,快速启动。
  • 轻量级的组件。spring cloud整合的组件大多比较轻量。例如Eureka、Zuul,等等,都是各自领域轻量级的实现。
  • 组件丰富,功能齐全。Spring Cloud为微服务架构提供了非常完整的支持。例如,配置管理、服务发现、断路器、微服务网关等。
  • 选型中立、丰富。例如,Spring Cloud支持使用Eureka、Zookeeper或Consul实现服务发现。
  • 灵活。Spring Cloud的组成部分是解耦的,开发人员可按需灵活挑选技术选型。

Spring Cloud—一、微服务架构
Spring Cloud—二、Spring Cloud简介
Spring Cloud—三、使用Spring Cloud实现微服务
Spring Cloud—四、Spring Cloud快速入门
Spring Cloud—五、注册中心Eureka
Spring Cloud—六、使用Ribbon实现负载均衡
Spring Cloud—七、容错保护:Hystrix
Spring Cloud—八、使用Feign实现声明式的Rest调用
Spring Cloud—九、服务网关Spring Cloud Zuul
Spring Cloud—十、使用Spring Cloud Config统一管理微服务
Spring Cloud—十一、使用Spring Cloud Bus(消息总线)实现自动更新

demo源码

推荐阅读更多精彩内容