简介
Spring Cloud是实现微服务架构的一系列框架的集合
是在Spring Boot基础上构建的,用于简化分布式系统构建的项目集合
将各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装,屏蔽掉了复杂的配置和实现原理,简单易懂易维护和部署
Spring Cloud 提供了构建分布式系统所需的“全家桶”。
官网:https://spring.io/projects/spring-cloud
优点
引入门槛较低
使用面广,相关文档和文章较多
技术稳定可靠
组成
Spring Cloud的子项目,一般可以分成2类:
1、对现有成熟框架”Spring Boot化”的封装和抽象(是数量最多的项目)
2、开发了一部分分布式系统的基础设施的实现
与springBoot关系
springCloud依赖于springBoot,是基于springBoot构建的项目集合;
springBoot不依赖springCloud,可以单独使用springBoot构建项目单独运行。
spirngBoot关注的是单个微服务的开发
springCloud关注的是微服务治理
与springBoot版本对应关系
提供的功能
服务注册发现,客服端负载均衡,服务容错保护(服务降级、熔断)、服务网关、配置中心等功能
五大组件
五大组件包括Netflix Eurek,Netflix Ribbon,Netflix Hystrix,Netflix Zuul和Spring Cloud Config。五个组件分别对应(1)服务注册发现(2)客服端负载均衡(3)断路器(4)服务网关(5)分布式配置。
Eurek
功能:微服务治理,服务注册和发现
Ribbon
功能:负载均衡、请求重试
Hystrix
断路器
功能:服务降级、熔断
Zuul
API 网关
功能:提供微服务的统一入口,并提供统一的权限验证
Spring Cloud Config
功能:配置中心