Spring Cloud 概述

一,Spring Cloud 是什么

【百度百科】Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发遍历性巧妙地简化了分布式系统基础设施的开发,如服务注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring Cloud并没有重复造轮子,它只是将目前各家公司开发的比较成熟、经得起考验的服务框架组合起来,通过Spring Boot 风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。
Spring Cloud 是一系列框架的有序集合(Spring Cloud 是一个规范)
开发服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等。
利用Spring Boot的开发便利性简化了微服务架构的开发(自动装配)
在这里插入图片描述
这里,我们需要注意,Spring Cloud其实是一套规范,是一套用于构建微服务架构的规范,而不是一个可以拿来即用的框架(所谓规范就是应该有那些功能组件,然后组件之间怎么配合,共同完成什么事情)。在这个规范下第三方的Netflix公司开发了一些组件、Spring官方开发了一些框架/组件,包括阿里巴巴开发了一套框架/组件集合Spring Cloud Alibaba,这些才是Spring Cloud规范的实现。

二,Spring Cloud 解决什么问题

Spring Cloud 规范及实现意图要解决的问题其实就是微服务架构实施过程中存在的一些问题,比如微服务架构中的服务注册发现问题、网络问题(比如熔断场景)、统一认证安全授权问题、负载均衡问题、链路追踪等问题。

三,Spring Cloud 架构

如前所述,Spring Cloud 是一个微服务相关规范,这个规范意图为搭建微服务架构提供一站式服务,采用组件(框架)化机制定义一系列组件,各类组件针对性的处理微服务中的特定问题,这些组件共同来构成Spring Cloud 微服务技术栈。

1,Spring Cloud 核心组件

Spring Cloud 生态圈中的组件,按照发展可以分为第一代 Spring Cloud 组件和第二代 Spring Cloud 组件。

第一代 Spring Cloud (Netflix、SCN)第二代 Spring Cloud (主要就是 Spring Cloud Alibaba, SCA)
注册中心Netflix Eureka阿里巴巴 Nacos
客户端负载均衡Netflix Ribbon阿里巴巴 DubboLB、Spring Cloud Loadbalancer
熔断器Netflix Hystirx阿里巴巴 Sentinel
网关Netflix Zuul:性能一般,未来将退出Spring Cloud 生态圈官方Spring Cloud Gateway
配置中心官方 Spring Cloud Config阿里巴巴 Nacos、携程Apollo
服务调用Netflix Feign阿里巴巴 Dubbo RPC
消息驱动官方 Spring Cloud Stream
链路追踪官方 Spring Cloud Sleuth/Zipkin
阿里巴巴seata分布式事务方案

2,Spring Cloud 体系结构 (组件协同工作机制)

在这里插入图片描述

Spring Cloud中的各组件协同工作,才能够支持一个完整的微服务架构。
比如:

  • 注册中心负责服务的注册与发现,很好将各服务连接起来
  • API网关负责转发所有外来的请求
  • 断路器负责监控服务之间的调用情况,连续多次失败进行熔断保护
  • 配置中心提供了统一的配置信息管理服务,可以实时的通知各个服务获取最新的配置信息

四,Spring Cloud 与 Dubbo 对比

Dubbo是阿里巴巴公司开源的一个高性能优秀的服务框架,基于RPC调用,对于目前使用率较高的Spring Cloud Netflix 来说,它是基于HTTP的,所以效率上没有Dubbo高,但问题在于Dubbo体系的组件不全,不能够提供一站式解决方案,比如服务注册与发现需要借助于Zookeeper等实现,而Spring Cloud Netflix 则是真正的提供了一站式服务化解决方案,且有Spring大家族背景。
前些年,Dubbo使用率高于Spring Cloud,但目前Spring Cloud在服务化/微服务解决方案中已经有了非常好的发展趋势。

五,Spring Cloud 与 Spring Boot 的关系

Spring Cloud 只是利用了Spring Boot 的特点,让我们能够快速的实现微服务组件开发,否则不使用Spring Boot的话,我们在使用Spring Cloud时,每一个组件的相关jar包都需要我们自己导入配置以及需要开发人员考虑兼容性等各种情况。所以Spring Boot是我们快速把Spring Cloud 微服务技术应用起来的一种方式。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值