SpringCloud入门概述
SpringCloud入门概述
Spring的三大模块:SpringBoot(构建),Spring Cloud(协调),Spring Cloud Data Flow(连接)
注意:Spring Boot可以离开Spring Cloud独立使用开发项目,但是Spring Cloud离不开Spring Boot,属于依赖的关系,Spring Boot专注于快速、方便集成的单个微服务个体,Spring Cloud关注全局的服务治理框架,它将SpringBoot开发的一个个单体微服务整合并管理起来。
1、SpringCloud是什么?
Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、熔断器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给
开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。
Spring Cloud项目的官方网址:https://spring.io/projects/spring-cloud
2、 SpringCloud和SpringBoot的关系
Spring Boot 是 Spring 的一套快速配置脚手架,可以基于Spring Boot 快速开发单个微服务,Spring Cloud是一个基于Spring Boot实现的云应用开发工具;Spring Boot专注于快速、方便集成的单个微服务个体,Spring Cloud关注全局的服务治理框架;Spring Boot使用了默认大于配置的理念,很多集成方案已经帮你选择好了,能不配置就不配置,Spring Cloud很大的一部分是基于Spring Boot来实现,可以不基于Spring Boot
吗?不可以。
3、 SpringCloud主要框架
服务发现——Netflix Eureka
服务调用——Netflix Feign
熔断器——Netflix Hystrix
服务网关——Netflix Zuul
分布式配置——Spring Cloud Config
消息总线 —— Spring Cloud Bus
4、 SpringCloud版本
我们目前课程采用的SpringCloud版本为Finchley.M9 。你可能会觉得这个版本怎么这么奇怪?SpringCloud由于是一系列框架组合,为了避免与包含的自框架版本产生混淆,采用伦敦地铁站的名称作为版本名,形式为版本名+里程碑号。 M9为第9个里程碑版本。
以下是SpringBoot与Spring Cloud版本的对照表,大家看看有没有找到什么规律呢?
SpringBoot |
SpringCloud |
1.2.x |
Angel版本 |
1.3.x |
Brixton版本 |
1.4.x |
Camden版本 |
1.5.x |
Dalston版本、Edgware版本 |
2.0.x |
Finchley版本 |
2.1.x |
Greenwich版本 |