简介
Spring Cloud是一个基于Spring Boot实现的微服务架构开发工具,能帮助开发者快速构建分布式系统。主要包括配置管理、服务治理、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等
特性
- 分布式、版本化配置
- 服务注册与发现
- 路由
- 服务与服务间调用
- 负载均衡
- 断路器
- 全局锁
- 分布式消息传递
主要组件
- Spring Cloud Config:配置管理工具,支持Git存储配置内容,可用于应用配置外部化。支持客户端刷新、加密、解密配置内容。
- Spring Cloud Netflix:核心组件,对Netflix OSS相关开源套件整合。
- Eureka:服务治理组件,包含注册中心、服务注册与发现机制的实现
- Hystrix:容错管理组件,实现断路器模式,帮助服务依赖中出现的延迟和故障提供强大的容错能力。
- Ribbon:客户端负载均衡调用组件
- Feign:基于Ribbon和Hystrix的声明式服务调用组件
- Zuul:网关组件,提供智能路由、请求过滤等功能
- Archaius:外部化配置组件
- Spring Cloud Bus:事件、消息总线,用于传播集群中的状态变化或事件
- Spring Cloud Security:安全工具包,提供在Zuul代理中对OAuth2客户端请求的中继器
- Spring Cloud Sleuth:分布式跟踪实现
- Spring Cloud Starters:Spring Cloud基础组件,基于Spring Boot风格的项目基础依赖模块
版本说明
由于Spring Cloud包含众多子项目,为了管理每个版本的子项目清单,避免Spring Cloud的版本号与其子项目的版本号相互混淆,Spring Cloud的版本号采用伦敦地铁站的名字命名。第一个Release版本是Angel,第二个Release版本为Brixton……。
当一个版本发布的内容积累到临界点或一个严重的bug解决后,会发布一个”service release“版本,简称SRX版本,其中X递增代表第X次。