基本介绍
2023年11月18日大约 5 分钟约 1034 字
官方文档
https://spring.io/projects/spring-cloud
标准的微服务解决方案(springcloud 和 cloud alibaba)出现原因和价值是什么
(1) 微服务可以根据业务不同,将一个大项目 , 分解成不同的服务(微服务,比如搜索服务/网关服务/配置服务/存储服务/发现服务等等)
(2) 各个服务通过分布式方式进行工 作,从而可以高效,快速,稳定的完成复杂的功能
(3) 也可以理解成就将原来大项目的某些模块->抽出形成微服务->配合分布式工作方式-> 从而高效,快速,稳定的完成复杂业务功能

系统架构的演变过程
单机架构

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

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

微服务架构:使用 Spring Cloud

● "微服务" 一词源于 Martin Fowler 的名为 Microservices 的博文,简单地说, 微服 务是系统架构上的一种设计风格, 它的主旨是将一个原本独立的系统拆分成多个小型服务,这些小型服务都在各自独立的进程中运行,服务之间通过基于 HTTP 的 RESTful API 进行通信协作。
● 被拆分成的每一个小型服务都围绕着系统中的某一项或一些耦合度较高的业务功能进行构建, 并且每个服务都维护着自身的数据存储、 业务开发、自动化测试案例以及独立部署机制。由于有轻量级的通信协作基础, 所以这些微服务可以使用不同的语言来编写, 这里使用 Java
Spring Cloud 全面说明(重要)
- SpringCloud 来源于 Spring,是更高层次的、 架构视角的综合性大型项目, 目标旨在构 建一套标准化的微服务解决方案, 让架构师在使用微服务理念构建系统的时, 面对各环节的问题都可以找到相应的组件来处理
- Spring Cloud 是 Spring 社区为微服务架构提供的一个 "全家桶" 套餐。套餐中各个组件之间的配合, 可以减少在组件的选型和整合上花费的精力,可以快速构建起基础的微服务架构系统,是微服务架构的最佳落地方案
- Spirng Cloud 天然支持 Spring Boot(有版本对应要求),使用门槛较低
- 解决与分布式系统相关的复杂性 – 网络问题,延迟开销,带宽问题,安全问题
- 处理服务发现的能力 – 服务发现允许集群中的进程和服务找到彼此并进行通信
- 解决冗余问题 – 冗余问题经常发生在分布式系统中
- 解决负载平衡 – 改进跨多个计算资源(例如计算机集群,网络链接,中央处理单元)的工作负载分布
Spring Cloud 核心组件图
文档
https://spring.io/projects/spring-cloud
1、spring cloud 核心组件一览图

2、spring cloud Alibaba 文档地址:https://github.com/alibaba/spring-cloud-alibaba
3、spring cloud Netflix 地址: https://github.com/Netflix
核心组件图

Spring Cloud 分布式示意图
文档
https://spring.io/microservices

- Spring Cloud 是微服务的落地
- Spring Cloud 体现了微服务的弹性设计
- 微服务的工作方式一般是基于分布式的
- Spring Cloud 仍然是 Spring 家族一员,可以解决微服务的分布式工作方式带来的各种问题
- Spring Cloud 提供很多组件,比如服务发现,负载均衡,链路中断,分布式追踪和监控,甚至提供 API gateway 功能
SpringCloud 和 SpringBoot 版本对应关系
地址: https://spring.io/projects/spring-cloud

Spring Cloud 组件选型
