SpringCloud是在SpringBoot实现的微服务架构,它为微服务架构涉及的配置管理、负载均衡、断路器、服务治理、智能路由、控制总线等操作提供了简单的开发方式。
SpringCloud子项目简介
SpringCloud Config
集中配置管理工具,分布式系统中统一的外部配置管理,默认使用Git来存储配置,可以支持客户端配置的刷新及加密、解密操作
SpringCloud Netflix
Netflix OSS 开源组件继承,包括Eureka、Hystrix、Ribbon、Feign、Zuul等核心组件
- Eureka:服务治理主键,包括服务端的注册中心和客户端的服务发现机制;
- Ribbon:负载均衡的服务调用组件,具有多种负载均衡调用策略
- Hystrix:服务容错组件,实现了断路器模式,为依赖服务的出错和延迟提供了容错能力
- Feign:基于Ribbon和Hystrix的声明式服务调用组件;
- Zuul:API网关组件,对请求提供路由及过滤功能。
SpringCloud Bus
用于传播集群状态变化的消息总栈,使用轻量级消息代理连接分布式系统中的节点,可以用来动态刷新集群中的服务配置
SpringCloud Consul
基于Hashicorp Consul的服务治理组件。
SpringCloud Security
安全工具包,对Zuul代理中的负载均衡OAuth2客户端及登录认证进行了支持
SpringCloud Sleuth
SpringCloud应用程序的分布式请求链路跟踪,支持使用Zipkin、HTrace和基于日志的跟踪
SpringCloud Stream
轻量级时间驱动微服务框架,可以使用简单的声明式模型来发送及接受消息,主要实现为Apache Kafka及RabbitMQ
SpringCloud Task
用于快速构建短暂、有限数据处理任务的微服务框架,用于向应用中添加功能性和非功能性的特性
SpringCloud Zookeeper
基于Apache Zookeeper的服务治理组件
SpringCloud Gateway
API网关组件,对请求提供路由及过功能。
SpringCloud OpenFeign
基于Ribbon和Hystrix的声明式服务调用组件,可以动态创建基于SpringMVC注解的接口实现,用于服务调用,在SpringCloud 2.0中一级取代feign。
SpringCloud和SpringBoot对应版本关系
SpringCloud | SpringBoot | 关系 |
---|---|---|
Angel | 1.2.x | 兼容Spring Boot 1.2.x |
Brixton | 1.3.x | 兼容Spring Boot 1.3.x,也兼容Spring Boot 1.4.x |
Camden | 1.4.x | 兼容Spring Boot 1.4.x,也兼容Spring Boot 1.5.x |
Dalston | 1.5.x | 兼容Spring Boot 1.5.x,不兼容Spring Boot 2.0.x |
Edgware | 1.5.x | 兼容Spring Boot 1.5.x,不兼容Spring Boot 2.0.x |
Finchley | 2.0.x | 兼容Spring Boot 2.0.x,不兼容Spring Boot 1.5.x |
Greenwich | 2.1.x | 兼容Spring Boot 2.1.x |
Hoxton | 2.2.x |