微服务架构 | 1. 微服务相关基础知识


前言

参考资料
《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 技术架构图

Spring Cloud Alibaba 技术架构图

2.4 各厂商 Spring Cloud 技术架构图

各厂商 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 等);


最后

新人制作,如有错误,欢迎指出,感激不尽!
欢迎关注公众号,会分享一些更日常的东西!
如需转载,请标注出处!