一、Spring Cloud介绍
Spring Cloud
是 Spring
旗下的项目之一,点击进入官网链接。
Spring Cloud
是一系列框架的有序集合。它利用 Spring Boot
的开发便利性将现在非常流行的一些技术整合到了一起,实现了诸如:配置管理,服务发现,智能路由,负载均衡,熔断器,控制总线,集群状态等等功能。
二、主要组件
Eureka
:服务治理组件,包括服务端的注册中心和客户端的服务发现机制;Zuul
:API网关组件,对请求提供路由及过滤功能。Ribbon
:负载均衡的服务调用组件,具有多种负载均衡调用策略;Frign
:基于Ribbon和Hystrix的声明式服务调用组件;Hystrix
:服务容错组件,实现了断路器模式,为依赖服务的出错和延迟提供了容错能力;
三、优缺点
- 优点:
- 集大成者,
Spring Cloud
包含了微服务架构的方方面面; - 约定优于配置,基于注解,没有配置文件;
- 轻量级组件,
Spring Cloud
整合的组件大多比较轻量级,且都是各自领域的佼佼者; - 开发简便,
Spring Cloud
对各个组件进行了大量的封装,从而简化了开发; - 开发灵活,
Spring Cloud
的组件都是解耦的,开发人员可以灵活的按需选择组件。
- 集大成者,
- 缺点:
- 项目结构复杂,每一个组件或者每一个服务都需要创建一个项目;
- 部署门槛高,项目部署需要配合
Docker
等容器技术进行集群部署,而要想深入了解Docker
,学习成本高。
四、Spring Cloud和SpringBoot版本对应关系
Spring Cloud 版本 | Spring Boot 版本 |
---|---|
Hoxton | 2.2.x |
Greenwich | 2.1.x |
Finchley | 2.0.x |
Edgware | 1.5.x |
Dalston | 1.5.x |