(一)了解SpringCloud

前言:

每个人在开发过程中或多或少的都跟Spring 打过交道,Spring 家族很强大,记得刚开始用Spring 的时候 配置相当繁琐,功能一多的时候,配置文件里面的内容就越来越多,这样维护起来就很痛苦,Spring 的开发者也意识到了这个问题,是不是能够将 这些内置的功能由框架本身提供呢,因而Spring 家族发展出了 SpringCloud SpringBoot ,且这个势头很猛,现在大多数的公司都需要会这俩个框架,那么学习这俩个框架就成了我们需要做的事情。

正文:

1.什么是SpringCloud?

SpringCloud 是一个微服务框架的规范,提供了全套的分布式系统解决方案。 

Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现注册,配置中心,消息总线,负载均衡,数据监控,断路器,智能路由,领导选举,分布式会话,集群状态)。

服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控

2.SpringCloud 组件:

1.Spring Cloud Netflix 
      它是通过包装了Netflix公司的微服务组件实现的,也是Spring Cloud核心组件,包括Eureka,Hystrix,Zuul,Archaius。

2.Eureka (提供服务注册与发现功能)

3.Spring Cloud Config (服务配置中心)
       将所有的服务的配置文件放到本地仓库或者远程仓库,配置中心负责读取仓库的配置文件,其他服务向配置中心读取配置。Spring Cloud Config使得服务的配置统一管理,并可以在不人为重启服务的情况下进行配置文件的刷新。

4.Hystrix (熔断器组件)
       它通过控制服务的API接口的熔断来转移故障,防止微服务系统发生雪崩效应。另外Hystrix能够起到服务限流和服务降级的作用。使用Hystrix Dashboard组件监控单个服务的熔断状态,使用Hystrix Turbine组件可以监控多个服务的熔断器的状态。

5.Zuul (智能路由网关组件
       能够起到智能路由和请求过滤的作用,内部服务API接口通过Zuul网关统一对外暴露,防止内部服务敏感信息对外暴露。也可以实现安全验证,权限控制。

6.Feign  (声明式远程调度组件)     

7.Ribbon (负载均衡组件)

8.Archaius (配置管理API组件
      一个基于Java的配置管理库,主要用于多配置的动态获取。

9.Spring Cloud Bus  消息总线组件)
     常和Spring Cloud Config配合使用,用于动态刷新服务的配置。

10.Spring Cloud Sleuth 
      服务链路追踪组件,封装了Dapper,Zipkin,Kibina等组件,可以实时监控服务链路调用状况。

11.Spring Cloud Data Flow 
      大数据操作组件,它是Spring XD的替代品,也是一个混合计算模型,可以通过命令行的方式操作数据流

12.Spring Cloud Consul 
      该组件是Spring Cloud对Consul的封装,和Eureka类似,它是一个服务注册和发现组件。

13.Spring Cloud Zookeeper 
      该组件是Spring Cloud对Zookeeper的封装,也是用于服务注册和发现

14.Spring Cloud Stream 
      数据流操作组件,可以封装 Redis,RabbitMQ,Kafka等组件,实现消息的接受和发送。

15.Spring Cloud CLI 
      该组件是对Spring Boot CLI的封装,可以让用户以命令行方式快速搭建和运行容器。

16.Spring Cloud Task 
      该组件基于Spring Tsak,提供任务调度和任务管理的功能

3.SpringCloud的特性:

  1. 分布式/版本化配置。
  2. 服务注册和发现。
  3. 路由。
  4. 服务和服务之间的调用。
  5. 负载均衡。
  6. 断路器。
  7. 分布式消息传递。

4.为什么要用SpringCloud?

1.Spring Cloud 作为一套微服务治理的框架,解决的第一个问题就是服务与服务之间的解耦。

2.SpringCloud有以下特点:

  1.   约定优于配置
  2. 适用于各种环境.开发,部署在PC Server 或各种云环境均可
  3. 隐藏了组件的复杂性,并提供声明式,无xml的配置方式
  4. 开箱即用
  5. 轻量级的组件. Spring Cloud整合的组件大多比较轻量.例如Eureka,Zuul,等等
  6. 组件丰富,功能齐全. Spring Cloud 为微服务架构提供了非常完整的支持.例如,配置管理,服务发现,断路器,微服务网关等;
  7. 选型中立,丰富. 例如,Spring Cloud 支持使用Eureka,Zookeeper或Consul实现服务发现.
  8. 灵活.Spring Cloud的组成部分是解耦的,开发人员可按需灵活挑选技术选型.
  9.  

3. SpringCloud 主要解决了与分布式系统相关的问题,比如 网络问题,延迟开销,带宽问题,安全问题。

   还包括:

  1. 处理服务发现的能力 – 服务发现允许集群中的进程和服务找到彼此并进行通信。
  2. 解决冗余问题 – 冗余问题经常发生在分布式系统中。
  3. 负载平衡  – 改进跨多个计算资源(例如计算机集群,网络链接,中央处理单元)的工作负载分布。
  4. 减少性能问题 – 减少因各种操作开销导致的性能问题。

 

5.参考文章:

1)SpringCloud 合集

2) SpringCloud到底是什么?

3) SpringCloud 概述

4)Spring Cloud(一):Spring Cloud的优势是什么?

5)Spring精华问答 | 什么是Spring Cloud?

6)如何创建SpringBoot 和Spring Cloud 项目。

7)SpringCloud 到底是什么?

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值