SpringCloud & SpringCloud Alibaba基本介绍
SpringCloud基本介绍
1.官方文档
地址: Spring Cloud官网
2.引出微服务
1、先思考一个问题, 没有微服务技术,是不是程序员就不能开发大型项目?
老师解读: 是可以的, 对大型项目进行模块划分, 对各个模块进行实现, 模块之间更多的是 以 API 调用完成, 耦合度较高, 不利于扩展和维护(题外话, 其实以前没有微服务技术时, 很 多大型项目就已经使用了微服务的概念,只是当时不叫微服务, 这里老师穿一个故事)
2、再思考, 标准的微服务解决方案(springcloud 和 cloud alibaba)出现原因和价值是什么? 老韩解读
(1) 微服务可以根据业务不同,将一个大项目 , 分解成不同的服务(微服务,比如搜 索服务/网关服务/配置服务/存储服务/发现服务等等)
(2) 各个服务通过分布式方式进行工 作,从而可以高效,快速,稳定的完成复杂的功能.
(3) 如果小伙伴还不理解, 你也可以理解成就 将原来大项目的某些模块->抽出形成微服务->配合分布式工作方式-> 从而高效,快速,稳定的
3、一图胜千言(完成复杂业务功能)
3.系统架构的演变过程
1.单机架构
- 示意图
2.动静分离架构:静态缓存 + 文件存储
- 示意图
3.分布式架构:业务拆分+负载均衡
- 示意图
4 .微服务架构:使用 Spring Cloud - 示意图
解读:
“微服务” 一词源于 Martin Fowler 的名为 Microservices 的博文,简单地说, 微服 务是系统架构上的一种设计风格,它的主旨是将一个原本独立的系统拆分成多个小型 服务,这些小型服务都在各自独立的进程中运行,服务之间通过基于 HTTP 的 RESTful API 进行通信协作。
被拆分成的每一个小型服务都围绕着系统中的某一项或一些耦合度较高的业务功 能进行构建, 并且每个服务都维护着自身的数据存储、 业务开发、自动化测试案例 以及独立部署机制。 由于有轻量级的通信协作基础, 所以这些微服务可以使用不同 的语言来编写 , 这里我们使用 java
4.Spring Cloud 全面说明(重要)
1.SpringCloud 来源于 Spring, 是更高层次的、 架构视角的综合性大型项目, 目标旨在构 建一套标准化的微服务解决方案, 让架构师在使用微服务理念构建系统的时, 面对各环 节的问题都可以找到相应的组件来处理
2.Spring Cloud 是 Spring 社区为微服务架构提供的一个 “全家桶” 套餐。套餐中各个组件 之间的配合, 可以减少在组件的选型和整合上花费的精力,可以快速构建起基础的微服务 架构系统,是微服务架构的最佳落地方案
3.Spirng Cloud 天然支持 Spring Boot(有版本对应要求),使用门槛较低
4.解决与分布式系统相关的复杂性 – 网络问题,延迟开销,带宽问题,安全问题
5.处理服务发现的能力 – 服务发现允许集群中的进程和服务找到彼此并进行通信
6.解决冗余问题 – 冗余问题经常发生在分布式系统中
7.解决负载平衡 – 改进跨多个计算资源(例如计算机集群,网络链接,中央处理单元)的 工作负载分布**
5.Spring Cloud 核心组件图
文档: Spring Cloud官网
1.spring cloud 核心组件一览图
一图胜千言
6. Spring Cloud 分布式示意图
1.文档:微服务架构
2.一图胜千言
Microservice resilience with Spring Cloud
The distributed nature of microservices brings challenges. Spring helps you mitigate these. With several ready-to-run cloud patterns, Spring Cloud can help with service discovery, load-balancing, circuit-breaking, distributed tracing, and monitoring. It can even act as an API gateway
解读:
1)Spring Cloud 是微服务的落地
2)Spring Cloud 体现了微服务的弹性设计
3) 微服务的工作方式一般是基于分布式的.
4) Spring Cloud 仍然是 Spring 家族一员,可以解决微服务的分布式工作方式带来的各种问 题
5) Spring Cloud 提供很多组件,比如 服务发现, 负载均衡, 链路中断, 分布式追踪和监控, 甚至提供 API gateway 功能.
3.SpringCloud 和 SpringBoot 版本对应关系
7. Spring Cloud 组件选型
一图胜千言
Spring Cloud Alibaba 基本介绍
1.官方文档
1.英文文档: https://github.com/alibaba/spring-cloud-alibaba
2.中文文档:https://github.com/alibaba/spring-cloud-alibaba/blob/master/README-zh.md
2.Spring Cloud Alibaba 是什么
3.主要功能一览
4.Spring Cloud Alibaba 核心组件
5.分布式微服务技术选型
● Spring Cloud 原生组件的几大痛点
- Spring Cloud 部分组件停止维护和更新, 给开发带来不便
- Spring Cloud 部分环境搭建复杂,没有完善的可视化界面,我们需要大量的二次开发和定 制3
- Spring Cloud 配置复杂,难以上手
● Spring Cloud Alibaba 的优势
- 阿里使用过的组件经历了考验[高并发,高性能,高可用],性能强悍,设计合理,现在开源 出来供大家使用.
- 搭配完善的可视化界面, 给开发运维带来极大的便利搭建简单,学习曲线低
● 分布式微服务技术选型建议
- Spring Cloud Alibaba 组件为主
- Spring Cloud 为辅, 比如(SpringCloud- Ribbon∶ 负载均衡、SpringCloud-OpenFeign∶ 调 用远程服务、 SpringCloud-Gateway∶ API 网关、SpringCloud-Sleuth∶ 调用链监控 等) 还 是非常不错的.