首页 > 其他分享 >day01-SpringCloud基本介绍

day01-SpringCloud基本介绍

时间:2023-04-02 22:59:27浏览次数:52  
标签:服务 SpringCloud day01 介绍 Spring 组件 架构 分布式

SpringCloud基本介绍

SpringCloud官方文档

1.提出问题

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

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

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

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

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

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

2.系统架构的演变过程

  1. 单机架构
  2. 动静分离架构:静态缓存+文件存储
  3. 分布式架构:业务拆分+负载均衡
  4. 微服务架构:使用SpringCloud
image-20230402200048666
image-20230402200105797
image-20230402200131009
image-20230402200947118
  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核心组件图

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

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

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

    image-20230402213633081

5.SpringCloud分布式示意图

Spring | Microservices

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

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

6.SpringCloud组件选型

image-20230402222752175

标签:服务,SpringCloud,day01,介绍,Spring,组件,架构,分布式
From: https://www.cnblogs.com/liyuelian/p/17281651.html

相关文章

  • SpringCloud之sleuth
    在大型分布式系统中,一次调用可能要经过很多不同的系统,调用很多服务。每个服务之间的调用会越来越复杂。会引入以下问题:如何快速发现问题?如何判断故障影响范围?如何梳理服务依赖以及依赖的合理性?如何分析链路性能问题以及实时容量规划? 为了快速定位问题及时解决问题,引入了......
  • AJAX介绍
       ......
  • 【深度学习时间序列预测案例】零基础入门经典深度学习时间序列预测项目实战(附代码+数
    前言......
  • SpringCloud之zuul
    后台的微服务和客户端之间都有一个类似于酒店的前台,叫做网关。网关一般有以下作用:1、统一登录认证,由网关来进行身份认证,调用每个微服务时就不用各自认证了。2、解决跨越问题,微服务一般是部署在内网中。客户端调用时存在跨域。3、动态路由和负载均衡,根据请求路径动态分发到不同......
  • springboot学习笔记1-基本介绍
    springboot基本介绍官方文档什么是springbootspringboot可以轻松创建独立的、生产级的基于spring的应用程序springboot直接嵌入tomcat、jetty、或undertow,无须打war包,可以直接运行springboot应用程序quickstartforspringbootdemo需求说明:quickstart创建......
  • BOM介绍
       ......
  • [分享].Net脱壳利器de4dot介绍
    De4Dot是一个很强的.Net程序脱壳,反混淆工具,支持对于以下工具混淆过的代码的清理:如Xenocode、.NETReactor、MaxtoCode、Eazfuscator.NET、Agile.NET、PhoenixProtector、MancoObfuscator、CodeWall、NetZ.NETPacker、Rpx.NETPacker、Mpress.NETPacker、ExePack.NET......
  • Python遍历时删除元素问题(附深拷贝与浅拷贝介绍)
    问题有时候,我们希望用Python遍历一个列表(或其他可迭代对象),如果其中有我们不需要的元素就把它删除并继续遍历。如以下代码段,我们本希望打印1、3,可最后却只打印了1。a=[1,2,3]foriina:ifi==2:a.remove(i)else:print(i)分析其实,之所以......
  • vue+webSocket+springCloud消息推送交互
    一、后台代码:1、pom里面加上依赖;<!--webSocket坐标依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId><version>2.2.4.RE......
  • 字符编码介绍
    字符编码是用于将字符集中的字符转换为二进制数据的方式。以下是常见的字符编码:ASCII编码:AmericanStandardCodeforInformationInterchange(美国信息交换标准代码),它使用7位二进制数来表示128个字符,ASCII编码最早用于电报通信,包括大小写字母、数字和一些特殊字符。ASCII编码......