微服务架构 | 1. 微服务相关基础知识
- 2022 年 1 月 11 日
- 筆記
- JAVA, Spring Cloud, Spring Cloud Alibaba, Spring 微服务实践学习笔记, 分布式, 学习笔记, 微服务架构
目录
前言
参考资料:
《Spring Microservices in Action》
《Spring Cloud Alibaba 微服务原理与实战》
《B站 尚硅谷 SpringCloud 框架开发教程 周阳》
本篇主要介绍一些通用概念概述、组件对比与系列笔记的目录结构说明;
1. 分布式相关理论
1.1 分布式计算系统的 CAP 理论
//www.runoob.com/w3cnote/zookeeper-tutorial.html
1.2 BASE 理论
//www.runoob.com/w3cnote/zookeeper-tutorial.html
2. 主流 Spring Cloud 组件
2.1 组件对比图
大致为 Netflix 版与 Alibaba 版的对比;
2.2 Spring Cloud五大组件:
- 注册中心 Netflix Eureka;
- 客服端负载均衡 Netflix Ribbon;
- 断路器 Netflix Hystrix;
- 服务网关 Netflix Zuul;
- 布式配置 Config;
2.3 Spring Cloud Alibaba 技术架构图
2.4 各厂商 Spring Cloud 技术架构图
3. 云计算概述
3.1 云计算的几种模式
三种核心基本模式:
- 基础设施即服务(Infrastructure as a Service, IaaS) ;
- 平台即服务(Platform as a Service, PaaS);
- 软件即服务(Software as a Service, SaaS);
- Spring Cloud 讨论的是基于 IaaS 的微服务;
两种新兴模式:
- 函数即服务(Functions as a Service, FaaS);
- 容器即服务(Container as a Service, CaaS)
4. 微服务架构概述
4.1 微服务架构的五大特性
- 位置透明;
- 大小适当;
- 可伸缩;
- 可重复;
- 有弹性;
4.2 微服务架构讨论了什么
- 服务粒度;
- 通信协议;
- 接口设计;
- 配置管理;
- 事件处理;
4.3 按模式分的微服务组件
4.3 本系列笔记将讨论什么
五大核心功能组件:
- 配置中心;
- 注册中心;
- 服务调用;
- 服务容灾与降级;
- 网关路由;
其他特色扩展组件:
- 安全保护;
- 事件驱动;
- 服务总线;
- 分布式追踪;
- 分布式事务;
- RPC 通信;
- 等…
5. 本系列笔记的编写思想
5.1 目录结构
- 主要分有一级标题和二级标题,一二级标题都是一篇文章;
- 为方便说明,下面用 XXX 代表:配置中心、注册中心、服务调用等功能;
- 用 YYY 代表:Eureka、Spring Cloud Config、Zuul 等细分组件;
- 其中一级标题表示概述,目录结构如下:
- XXX 基础知识:对微服务(注册中心、配置、网关等)做系统的概述;
- YYY 组件分析:里面有个链接,可以跳转至对应细分文章;
- 二级标题为组件实战,目录结构如下:
- YYY 基础知识:介绍一些 YYY 组件的理论知识与面试考点;
- 使用 YYY 组件构建服务:实战部分;
- 其中 YYY 组件实战部分又可大致总结为:
- 引入 pom.xml 依赖文件;
- 修改 .yml 配置文件;
- 在主程序类上添加注解;
- 编写业务类(Config、Service、Controller 等);