目录
概述
Spring Cloud是一个基于Spring Boot实现的微服务架构开发工具。它为微服务架构中涉及的配置管理,服务治理,断路器,智能路由,微代理,控制总线,全局锁,决策竞选,分布式会话和集群状态管理等操作提供了一种简单的开发方式。
子项目
Spring Cloud包含了多个子项目:
Spring Cloud Config:配置管理工具,支持使用Git存储配置内容,可以使用它实现应用配置的外部化存储,并支持客户端配置信息刷新,加密/解密配置内容等。
Spring Cloud Netflix:核心组件,对多个Netflix OSS开源套件进行整合。
Eureka:服务治理组件,包含服务注册中心,服务注册与发现机制的实现。
Hystrix:容错管理组件,实现断路器模式,帮助服务依赖中出现的延迟和为故障提供强大的容错能力。
Ribbon:客户端负载均衡的服务调用组件。
Feign:基于Ribbon和Hystrix的声明式服务调用组件。
Zuul:网关组件,提供智能路由,访问过滤等功能。
Archaius:外部化配置组件。
Spring Cloud Bus:事件,消息总线。用于传播集群中的状态变化或事件,以触发后续的处理,比如用来动态刷新配置等。
Spring Cloud Cluster:针对ZooKeeper,Redis,Hazelcase,Consul的选举算法和通用状态模式的实现。
Spring Cloud Cloudfoundry: 与PivotalCloudfoundry的整合支持。
Spring Cloud Consul: 服务发现与配置管理工具。
Spring Cloud Stream: 通过Redis,Rabbit或者Kafka实现的消费微服务, 可以通过简单的声明式模型来发送和接收消息。
Spring Cloud AWS:用千简化整合AmazonWeb Service的组件。
Spring Cloud Security: 安全工具包,提供在Zuul代理中对0Auth2 客户端请求的中继器。
Spring Cloud Sleuth: Spring Cloud应用的分布式跟踪实现,可以完美整合Zipkin。
Spring Cloud ZooKeeper: 基于ZooKeeper的服务发现与配置管理组件。
Spring Cloud Starters: Spring Cloud的基础组件,它是基于Spring Boot风格项目的 基础依赖模块。
Spring Cloud CLI: 用于在Groovy中快速创建Spring Cloud应用的Spring Boot CLI 插件。
版本
SpringCloud由于聚合了多个子项目,并且多个子项目又独立维护和更新,因此Spring Cloud没有使用版本号,而是使用伦敦地铁站的名字,根据字母表顺序来对应版本时间顺序。比如最开始的Release版本为Angel,第二个Release版本为Brixton。
当一个版本的Spring Cloud项目的发布内容积累到临界点或者一 个严重bug解决可用 后, 就会发布 一个"service releases"版本, 简称SRX版本, 其中 X是 一个递增的数字, 所以BrixtonS.RS就是Brixton的第5个Release版本