SpringCloud是Spring为微服务架构思想做的一个一站式实现。   从某种程度可以理解为,微服务是一个概念、一个项目开发的架构思想。SpringCloud是微服务架构的一种java实现。

SpringCloud是基于SpringBoot的一套实现微服务的框架。   为微服务体系开发中的架构问题,提供了一整套的解决方案,它提供了微服务开发所需要的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等组件。最重要的是,跟SpringBoot框架一起使用的话,会让开发微服务架构的云服务非常方便。   Spring Cloud是一个基于Spring Boot实现的云应用开发工具;Spring boot专注于快速、方便集成的单个个体,Spring Cloud是关注全局的服务治理框架;spring boot使用了默认大于配置的理念,很多集成方案已经帮你选择好了,能不配置就不配置,Spring Cloud很大的一部分是基于Spring boot来实现。

SpringCloud五大核心组件

服务注册发现-Netflix Eureka
配置中心 - spring cloud config
负载均衡-Netflix Ribbon
断路器 - Netflix Hystrix
路由(网关) - Netflix Zuul

Spring Boot的哲学就是约定大于配置。既然很多东西都是一样的,为什么还要去配置。

1. 通过starter和依赖管理解决依赖问题。
2. 通过自动配置,解决配置复杂问题。
3. 通过内嵌web容器,由应用启动tomcat,而不是tomcat启动应用,来解决部署运行问题。

Spring Cloud体系就比较复杂了。基本可以理解为通过Spring Boot的三大魔法,将各种组件整合在一起,非常简单易用。 在这里插入图片描述

通过上面SpringCloud架构图,我们看一下 Spring Cloud主要的组件,以及它的访间流程

  1、外部或者内部的非 Spring Cloud目都统一通过API网关(Zuul)来访可内部服务.
  2、网关接收到请求后,从注册中心( Eureka)获取可用服务
  3、由 Ribbon进行均负载后,分发到后端的具体实例
  4、微服务之间通过 Feign进行通信处理业务
  5、 Hystrix负责处理服务超时熔断
  6、 Turbine监控服务间的调用和焠断相关指标

总结一句:Spring boot可以离开Spring Cloud独立使用开发项目,但是Spring Cloud离不开Spring boot,属于依赖的关系。

results matching ""

    No results matching ""