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