微服務架構 | 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 等);


最後

新人製作,如有錯誤,歡迎指出,感激不盡!
歡迎關注公眾號,會分享一些更日常的東西!
如需轉載,請標註出處!