浅谈Spring Cloud与Spring Boot概念与关系

Spring boot简化了基于Spring的应用开发,通过少量的代码就能创建一个独立的,产品级别的Spring应用。Spring Boot为Spring平台及第三方库提供开箱即用的设置,这样你就可以有条不紊的开始,多数Spring应用只需要很少的Spring配置。

什么是Spring Boot

Spring boot简化了基于Spring的应用开发,通过少量的代码就能创建一个独立的,产品级别的Spring应用。Spring Boot为Spring平台及第三方库提供开箱即用的设置,这样你就可以有条不紊的开始,多数Spring应用只需要很少的Spring配置。
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化Spring应用的初始搭建以及开发过程。该框架使用了特定的方式进行配置,从而使开发人员不再需要定义样板化的配置。用我的话来理解,就是Spring Boot其实并不是什么新的框架,它默认配置了很多框架的使用方式,就像maven,整合了所有的jar包,Spring Boot整合了所有框架。
Spring Boot的核心思想就是约定大于配置,一切自动完成。采用Spring Boot可以大大的简化你的开发模式,所有你想集成的常用框架,它都有对应的组件支持。

什么是Spring Cloud

Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙的简化了分布式系统基础设置的开发,如服务发现注册,配置中心,消息总线,负载均衡,断路器,数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring 并没有重复制造轮子,它只是将目前各家公司开发的比较成熟,经得起实际考验的服务框架组合起来,通过Spring Boot风格进行封装屏蔽掉了复杂的配置和实现原理,最终结合开发者留出了一套简单易懂,易部署和易维护的分布式系统开发工具包。
微服务是可以独立部署,水平扩展。独立访问(或有独立的数据库)的服务单元,Spring cloud就是这些微服务的大管家,采用了微服务这种架构后,项目的数量会非常多,Spring Cloud作为大管家就需要提供各种方案来维护整个生态。
Spring Cloud就是一套分布式服务治理的框架,既然它是一条分布式治理的框架,那么它本身不会提供身体功能性的操作,更专注于服务之间的通讯,熔断,监控等。因此需要很多的组件来支持一套功能。


  
## Spring Boot和Spring Cloud 的关系  ##

 Spring Boot是Spring的一套快速配置手架,可以通过Spring Boot快速开发单个微服务,Spring Cloud是一个教育Spring Boot实现的云应用开发工具;Spring Boot用于快速,方便集成的单个微服务个体,Spring Cloud关注全局的服务治理框架;Spring Boot使用了默认大于配置的理念,很多集成方案已经帮你选择好了,能不配置就不配置,Spring Cloud 很大一部分是基于Spring Boot来实现,属于依赖关系,但是Spring Boot是可以离开Spring Cloud独立使用开发项目。


Spring -->Spring Boot-->Spring Cloud这样的关系。

## Spring Cloud架构##

我们从整体来看一下Spring Cloud主要组件,以及它的访问流程。

1,外部或内部的非Spring Cloud项目统一通过API网管(Zuul)来访问内部服务。

2,网关接收到请求后,从注册中心(Eureka)获取可用服务。

3,由Ribbon进行负载均衡后,分发到后端的具体实例。

4,微服务之间通过Feign进行通信处理业务。

5,Hystrix负责处理服务超时熔断

6,Turbine监控服务间的调用和熔断相关指标



猜你喜欢

转载自blog.csdn.net/weixin_46437112/article/details/131471243