• SpringCloud & SpringCloud Alibaba基本介绍


    SpringCloud & SpringCloud Alibaba基本介绍

    1.Spring Cloud 基本介绍

    1.官方文档

    地址: Springcloud官网

    2.引出微服务

    1、先思考一个问题, 在早期没有微服务技术,程序员怎么开发大型项目呢?

    ​ 对大型项目进行模块划分, 对各个模块进行实现, 模块之间更多的是 以 API 调用完成, 耦合度较高, 不利于扩展和维护(题外话, 其实以前没有微服务技术时, 很 多大型项目就已经使用了微服务的概念,只是当时不叫微服务

    2、再思考, 标准的微服务解决方案(springcloud 和 cloud alibaba)出现原因和价值是什么?

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

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

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

    3、图示:

    image-20220828102758748

    3.系统架构的演变过程

    1.单机架构

    image-20220828103151968

    2.动静分离架构:静态缓存+文件存储

    image-20220828103247060

    3.分布式架构:业务拆分+负载均衡

    image-20220828103321467

    4.微服务架构:使用Spring Cloud

    image-20220828103346833

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

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

    5.Spring Cloud说明

    1. SpringCloud 来源于 Spring, 是更高层次的、 架构视角的综合性大型项目, 目标旨在构 建一套标准化的微服务解决方案, 让架构师在使用微服务理念构建系统的时, 面对各环 节的问题都可以找到相应的组件来处理

    2. Spring Cloud 是 Spring 社区为微服务架构提供的一个 “全家桶” 套餐。套餐中各个组件 之间的配合, 可以减少在组件的选型和整合上花费的精力,可以快速构建起基础的微服务 架构系统,是微服务架构的最佳落地方案

    3. Spirng Cloud 天然支持 Spring Boot(有版本对应要求),使用门槛较低

    4. 解决与分布式系统相关的复杂性 – 网络问题,延迟开销,带宽问题,安全问题

    5. 处理服务发现的能力 – 服务发现允许集群中的进程和服务找到彼此并进行通信

    6. 解决冗余问题 – 冗余问题经常发生在分布式系统中

    7. 解决负载平衡 – 改进跨多个计算资源(例如计算机集群,网络链接,中央处理单元)的工作负载分布

    6.Spring Cloud 核心组件图

    1.文档:SpringCloud官网

    1、spring cloud 核心组件一览图

    image-20220828103801023

    2、spring cloud Alibaba 文档地址: spring-cloud-alibaba-github

    image-20220828103929412

    3、spring cloud Netflix 地址: https://github.com/Netflix

    image-20220828104020640

    2.核心组件图

    image-20220828104109596

    7.SpringCloud 分布式示意图

    1.文档

    https://spring.io/microservices

    2.图示

    image-20220828104230569

    1.SpringCloud是微服务的落地

    2.SpringCloud体现了微服务的弹性设计

    3.微服务的工作方式一般是基于分布式的.

    4.SpringCloud仍然是Spring家族一员,可以解决微服务的分布式工作方式带来的各种问题

    5.SpringCloud提供很多组件,比如服务发现,负载均衡,链路中断,分布式追踪和监控,甚至提供APIgateway功能.

    3.SpringCloud和SpringBoot版本对应关系

    地址: SpringCloud和SpringBoot版本对应关系

    image-20220828104458970

    8.SpringCloud组件选型

    image-20220828104533071

    2.SpringCloudAlibaba基本介绍

    1.官方文档

    英文地址:SpringCloudAlibaba英文地址

    中文地址:SpringCloudAlibaba中文地址

    2.SpringCloudAlibaba是什么

    image-20220828104814587

    3.主要功能一览

    image-20220828104837781

    4.SpringCloudAlibaba核心组件

    image-20220828104927922

    5.分布式微服务技术选型

    ● Spring Cloud 原生组件的几大痛点

    1.SpringCloud部分组件停止维护和更新,给开发带来不便

    2.SpringCloud部分环境搭建复杂,没有完善的可视化界面,我们需要大量的二次开发和定制

    3.SpringCloud配置复杂,难以上手

    ● Spring Cloud Alibaba 的优势

    1. 阿里使用过的组件经历了考验[高并发,高性能,高可用],性能强悍,设计合理,现在开源 出来供大家使用

    2. 搭配完善的可视化界面, 给开发运维带来极大的便利搭建简单,学习曲线低

    ● 分布式微服务技术选型

    1. Spring Cloud Alibaba 组件为主
    2. Spring Cloud 为辅, 比如(SpringCloud- Ribbon∶ 负载均衡、SpringCloud-OpenFeign∶ 调用远程服务、 SpringCloud-Gateway∶ API 网关、SpringCloud-Sleuth∶ 调用链监控 等) 还是非常不错的
  • 相关阅读:
    求最长的只包含两种类型的连续子数组的最大长度
    金航标和萨科微宋仕强介绍说,大数据、物联网和人工智能背景下,连接器技术的发展大致以高速、高频、高电压、大电流、高密度、小型化、智能化等为主要方向
    【AGC】云存储如何上传文件?是否可以自行开通?云存储的相关问题,来这里看看!
    fortify漏洞修复笔记
    基金管理人公司治理和风险管理
    【C/C++】智能指针
    ESP32-IPS彩屏ST7789-Arduino-简单驱动
    arthas进阶版排查问题之idea插件工具操作
    让mybatis-plus支持NOT逻辑运算
    Java(SpringBoot06)
  • 原文地址:https://blog.csdn.net/qq_44981526/article/details/126567460