從天氣項目入門 Spring Cloud 微服務治理
從Spring Boot入手,從0到1快速搭建具備高併發能力、界面友好,業務便於理解的天氣預報系統,而後剖析單塊架構的利弊,從而引入微服務架構的概念,並從1到0實現微服務的拆分,最後引入Spring Cloud 技術來實現對這些微服務的治理
-
第1章 導學及SpringCloud基石SpringBoot
Spring Boot簡單介紹及入門
- 1-1 Spring Boot 簡介
- 1-2 開啓第一個 Spring Boot 項目
-
第2章 基於Spring Boot快速構建天氣預報系統
基於Spring Boot技術快速迭代,實現天氣預報系統
- 2-1 從一個天氣預報系統講起
- 2-2 用Redis提升應用的併發訪問能力
- 2-3 Quartz Scheduler定時獲取天氣數據
- 2-4 準備城市數據
- 2-5 獲取城市數據
- 2-6 給天氣預報一個面子-集成Thymeleaf
- 2-7 給天氣預報一個面子-集成Bootstrap
-
第3章 服務拆分與業務建模
全面講解了微服務架構原理、產生背景,以及如何來設計微服務:單塊架構如何進化爲微服務架構、微服務架構的設計原則、如何來設計微服務系統、如何進行微服務的拆分
- 3-1 單塊架構的概念及優缺點
- 3-2 如何將單塊架構轉爲微服務架構
- 3-3 微服務概念及顆粒度設計原則
- 3-4 微服務架構的其他設計原則
- 3-5 微服務系統設計
- 3-6 微服務拆分的意義及方法
-
第4章 天氣預報系統的微服務架構設計與實現
詳解講解了如何將將天氣預報系統拆分爲微服務
- 4-1 天氣預報系統的微服務架構設計
- 4-2 天氣數據採集微服務的實現1
- 4-3 天氣數據採集微服務的實現2
- 4-4 天氣數據API微服務的實現
- 4-5 天氣預報微服務的實現
- 4-6 城市數據API微服務的實現
-
第5章 微服務的協調者Spring Cloud
簡單介紹下Spring Cloud的產生背景,以及與其他周邊的技術棧的關係
- 5-1 Spring Cloud 簡介
- 5-2 Spring Cloud 配置及子項目介紹
-
第6章 微服務的註冊與發現
講解了在微服務架構中,作爲服務消費方的原理與實現方式。同時,採用Ribbon、OpenFeign技術,實現了服務負載均衡和高可用
- 6-1 服務發現的意義
- 6-2 集成 Eureka Server
- 6-3 集成 Eureka Client
- 6-4 實現服務的註冊與發現-配置
- 6-5 實現服務的註冊與發現-實現
- 6-6 實現服務的註冊與發現-運行測試
-
第7章 微服務的消費
講解了在微服務架構中,作爲服務消費方的原理與實現方式。同時,採用Ribbon、OpenFeign技術,實現了服務負載均衡和高可用
- 7-1 微服務的消費模式
- 7-2 常見微服務的消費者-HttpClient用法介紹
- 7-3 常見微服務的消費者-Ribbon用法介紹
- 7-4 常見微服務的消費者-Feign用法介紹
- 7-5 天氣數據採集微服務使用Feign
- 7-6 天氣預報微服務使用Feign
- 7-7 實現服務的負載均衡及高可用-概述
- 7-8 實現服務的負載均衡及高可用-運行測試
-
第8章 API 網關
講解了在微服務架構中,API在微服務架構中的作用。同時,採用Zuul技術,實現了API網關
- 8-1 使用API 網關的意義
- 8-2 使用API網關的利與弊
- 8-3 常見 API 網關的實現方式
- 8-4 如何集成Zuul
- 8-5 API網關設計及實現
- 8-6 天氣預報微服務重構
- 8-7 運行測試重構後的系統
-
第9章 微服務的集中化配置
講解了在微服務架構中,配置管理的重要性。同時,採用Config Server、Config Client技術,來實現微服務的配置管理
- 9-1 爲什麼需要集中化配置
- 9-2 使用 Config 實現 Server 端的配置中心
- 9-3 概述-使用 Config 實現的配置中心 Client 端
- 9-4 實戰-使用 Config 實現的配置中心 Client 端
-
第10章 微服務的熔斷機制
講解了在微服務架構中,熔斷機制的重要性。同時,採用Hystrix技術,來實現微服務的熔斷機制
- 10-1 什麼是服務的熔斷
- 10-2 服務熔斷的原理
- 10-3 熔斷的意義與功能
- 10-4 熔斷與降級的區別
- 10-5 如何集成 Hystrix
- 10-6 運行測試
- 10-7 實現天氣預報微服務的熔斷機制
- 10-8 修改前端的實現
- 10-9 實現熔斷機制後的運行測試
-
第11章 微服務的自動擴展介紹
講解了在微服務架構中,自動擴展的重要性。介紹了自動擴展常用算法和原理,同時,來講解市面上常見的實現微服務的自動擴展的開源技術
- 11-1 什麼是自動擴展
- 11-2 自動擴展的意義
- 11-3 自動擴展的常見模式
- 11-4 容器編排
- 11-5 資源分配算法及常用容器編排技術