SpringCloud基本介绍

SpringCloud官方文档

1.提出问题

  1. 先思考一个问题,没有微服务技术,是不是程序员就不能开发大型项目?

    是可以的,对大型项目进行模块划分,对各个模块进行实现。但模块之间更多地是以API调用完成,耦合度较高,不利于拓展和维护(在没有微服务技术时,很多大型项目就已经使用了微服务的概念)

  2. 标准化的微服务解决方案(SpringCloud 和 SpringCloud Alibaba)出现的原因和价值是什么?

    (1)微服务可以根据业务不同,将一个大项目分解成不同的服务(比如搜索服务/网关服务/配置服务/存储服务/发现服务等等)

    (2)各个服务通过分布式方式进行工作,从而可以高效,快速,稳定地完成复杂的功能

    (3)可以理解为:原来大项目的某些模块->抽出形成微服务->配合分布式工作方式->从而高效,快速稳定地完成复杂功能

2.系统架构的演变过程

  1. 单机架构
  2. 动静分离架构:静态缓存+文件存储
  3. 分布式架构:业务拆分+负载均衡
  4. 微服务架构:使用SpringCloud




  1. ”微服务“一词源于 Martin Fowler 的名为 Microservices 的博文。简单地说,微服务是系统架构上的一种设计风格,它的主旨是将一个原本独立的系统拆分成多个小型服务,这些小型服务都在各自独立的进程中运行,服务之间通过基于HTTP的Restful API进行通信协作。

  2. 被拆分的每一个小型服务,都围绕着系统中的某一项,或一些耦合度较高的业务功能进行构建,并且每个服务都维护着自身的数据存储、业务开发、自动化测试案例以及独立部署机制。由于有轻量级的通信协作基础,所以这些微服务可以使用不同的语言来编写。

3.SpringCloud全面说明

  1. SpringCloud 来源于 Spring,是更高层次的、架构视角的综合性大型项目,目标旨在构建一套标准化的微服务解决方案,让架构师在使用微服务理念构建系统时,面对各个环节都可以找到相应的组件来处理
  2. SpringCloud 是 Spring 社区为微服务架构提供的一个 “全家桶” 套餐。套餐中各个组件之间的配合,可以减少组件选型和整合上花费的精力,可以快速构建起基础的微服务架构系统,是微服务架构的最佳落地方案
  3. SpringCloud 天然支持 SpringBoot(有版本对应要求),使用门槛较低
  4. SpringCloud 解决了与分布式系统相关的复杂性——网络问题,延迟开销,带宽问题,安全问题
  5. 有处理服务发现的能力——服务发现允许集群中的进程和服务找到彼此并进行通信
  6. 可以处理冗余问题——冗余问题经常发生在分布式系统中
  7. 能够解决负载平衡——改进跨多个计算资源(例如计算机集群、网络连接、中央处理单元)的工作负载分布

4.SpringCloud核心组件图

  1. SpringCloud 核心组件一览图,文档 : https://spring.io/projects/spring-cloud

  2. Spring Cloud Alibaba 文档地址: https://github.com/alibaba/spring-cloud-alibaba

  3. Spring Cloud Netflix 地址: https://github.com/Netflix

5.SpringCloud分布式示意图

Spring | Microservices

分布式工作的简单示意图:

  1. SpringCloud 是微服务概念的落地实现
  2. SpringCloud 体现了微服务的弹性设计
  3. 微服务的工作方式一般是基于分布式的
  4. SpringCloud 仍然是 Spring 家族一员,可以解决微服务的分布式工作方式带来的各种问题
  5. SpringCloud 可以帮助解决服务发现、负载平衡、断路、分布式跟踪和监视的问题,甚至可以充当 API 网关
  • SpringCloud和SpringBoot版本的对应关系

6.SpringCloud组件选型

day01-SpringCloud基本介绍的更多相关文章

  1. springCloud 概念介绍

    微服务(Microservice) 那么首先介绍下微服务.微服务英文名称Microservice,Microservice架构模式就是将整个Web应用组织为一系列小的Web服务.这些小的Web服务可以 ...

  2. Day01 - Python 基础介绍

    1 Python 简介 1.1 Python 的由来 Python的创始人:吉多·范罗苏姆(Guido van Rossum) 1989年,吉多·范罗苏姆为了在阿姆斯特丹打发圣诞节假期时间,开发的一个 ...

  3. springcloud (一) 介绍

    开启springcloud 之旅... 传统单体架构: 微服务架构: 每个模块独立运行,就是独立的进程. 接下来基于springboot 来构建微服务: 1, 客户端->订单微服务->用户 ...

  4. SpringCloud版本介绍和SpringBoot的兼容性

    Spring Cloud是一个由众多独立子项目组成的大型综合项目,每个子项目有不同的发行节奏,都维护着自己的发布版本号.Spring Cloud通过一个资源清单BOM(Bill of Material ...

  5. day01 python起源 介绍 解释器 变量 流程控制if

    day01 python   一.python的起源     1.python简介     java 企业级应用, android, app     c 操作系统, 做开发语言的, 游戏的内核     ...

  6. dubbo&hsf&spring-cloud简单介绍

    Dubbo: 简介:Dubbo是一个分布式服务框架,以及SOA治理方案.其功能主要包括:高性能NIO通讯及多协议集成,服务动态寻址与路由,软负载均衡与容错,依赖分析与降级等. 底部NIO基于netty ...

  7. 小D课堂 - 新版本微服务springcloud+Docker教程_3-04 SpringCloud微服务核心组件Eureka介绍和闭源后影响

    笔记 4.SpringCloud微服务核心组件Eureka介绍和闭源后影响     简介:         SpringCloud体系介绍             官方地址:http://projec ...

  8. 微服务介绍和springCloud组件

      微服务架构模式是:将整个web服务 组织成一系列小的web 服务,这些小的web服务可以进行独立的编译和部署,并通过各自暴露的API接口 进行相互通信,他们相互协作,作为一个整体,为客户提供服务功 ...

  9. 【微框架】之一:从零开始,轻松搞定SpringCloud微框架系列--开山篇(spring boot 小demo)

    Spring顶级框架有众多,那么接下的篇幅,我将重点讲解SpringCloud微框架的实现 Spring 顶级项目,包含众多,我们重点学习一下,SpringCloud项目以及SpringBoot项目 ...

  10. python Day01

    Python Day01 Python 简介 介绍 Python 是一种面向对象.直译式的计算机程序设计语言,也是一种功能强大的通用型语言,已经有将近二十年的发展历史,成熟稳定.包含了一组完善而且容易 ...

随机推荐

  1. spring-boot-starter-webflux 与spring-cloud-starter-openfeign冲突

    Thu Oct 22 17:16:01 CST 2020 [3be84a1c-14] There was an unexpected error (type=Internal Server Error ...

  2. Charles 抓取 HTTPS 协议内容,需要做什么操作?

    抓取 HTTPS 需要安装证书,Charles 端需要安装 Android.iOS手机端也需要安装 电脑的 Charles 操作:1.proxy - proxy setting - http prox ...

  3. 使用Microsoft Network Monitor 抓包分析文件上传

    Microsoft 自己提供了一个官方的抓包工具,可以比较方便的在windows平台抓包,并可以提供协议关键字正则.安装包位置:\\192.168.10.248\public\ghw\tools\MN ...

  4. jetson TX2 + opencv3.4 + python3 + 双目 +人脸检测

    淘宝看到一款很便宜的双目,150元,就买了.想着用它学习一下opencv,好换个工作.当然,也想着能否用它做一些好玩的,比如三维重建之类高大上的东西.先用便宜的入个门,等以后眼界高了再看是不是买那些更 ...

  5. ACwing语法基础课第一节课例题与习题及个人总结

    第一次课例题 若涉及到浮点数的计算,float一般是6到7位有效数字,double一般是15到16位有效数字,但是为了方便起见,建议直接设为double,因为若涉及浮点数的乘除运算,使用float类型 ...

  6. django_模型层及ORM介绍

    一.模型层介绍 1.作用:负责跟数据库之间进行通信. 2.django通过驱动mysqlclient与mysql数据库进行通信,所以需要先安装.版本需要是1.3.13以上. 如果直接安装报错,可以直接 ...

  7. Vue3 向window注入方法 TS警告 元素隐式具有 "any" 类型,因为索引表达式的类型不为 "number" 问题解决。

    window['funcName'] = function(){}; // 'funcName'会标红警告 (window as any).funcName = function(){}; // 正确 ...

  8. jquery的ajax方法获取不到return返回值

    /** 2 * 方式:(1)同步调用 (2)在ajax函数中return值 3 * 结果:返回 1.未成功获取返回值 4 * 失败原因:ajax内部是一个或多个定义的函数,ajax中return返回值 ...

  9. gstreamer样例

    #!/bin/bash xrandr -s 0 --output DSI-1 xrandr -s 0 --output HDMI-1 xrandr --fb 1024x600 --output DSI ...

  10. Java学习文档

    数在计算机中是以二进制形式表示的,分为有符号数和无符号数,原码.反码.补码都是有符号定点数的表示方法.一个有符号定点数的最高位为符号位,0是正,1是负(以8位整数为例),例如0000001 就是+1, ...