Spring Cloud简介

Spring Cloud简介

Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务注册发现、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。
Spring Cloud并没有重复造轮子,它只是将各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。

Spring Cloud组成

Spring Cloud的子项目,大致可以分成两类,一类是对现有成熟框架“Spring Boot化”的封装和抽象,也是数量最多的项目;
第二类是开发了一部分分布式系统的基础设施的实现,如Spring Cloud Stream扮演的就是kafka、ActiveMQ这样的角色。

Spring Cloud Config

将配置信息中央化保存,配置Spring Cloud Bus可以实现动态修改配置文件。

Spring Cloud Netflix

是对Netflix开发的一套分布式服务框架的封装,包括Eureka、Hystrix、Ribbon、Feign、Zuul等核心组件。
Eureka:服务治理组件,包括服务端的注册中心和客户端的服务发现机制;
Ribbon:负载均衡的服务调用组件,具有多种负载均衡调用策略;
Hystrix:服务容错组件,实现了断路器模式,为依赖服务的出错和延迟提供了容错能力;
Feign:基于Ribbon和Hystrix的声明式服务调用组件;
Zuul:API网关组件,对请求提供路由及过滤功能;

Spring Cloud Security

对Spring Security的封装,并能配合Netflix使用。

Spring Cloud Zookeeper

对Zookeeper的封装,使之能配置其它Spring Cloud的子项目使用。

Spring CLoud Consul

基于Hashicorp Consul的服务治理组件。

Spring Cloud Gateway

API网关组件,对请求提供路由及过滤功能。

Spring Cloud和SpringBoot版本对应关系

Spring Cloud VersionSpringBoot Version
Hoxton2.2.x
Greenwich2.1.x
Finchley2.0.x
Edgware1.5.x
Dalston1.5.x

和SpringBoot的关系

  • SpringBoot是一套快速配置的脚手架,可以基于SpringBoot快速开发单个微服务;Spring Cloud是一系列框架的集合。
  • SpringBoot专注于单个微服务,Spring Cloud则是关注全局的服务治理框架。

(完)

最后修改于:2022年12月05日 22:22

添加新评论