Spring Cloud微服務應用開發——基於Alibaba Nacos(微課視頻版)
張寺寧、吳紹根
相關主題
商品描述
"本書以Spring Cloud Alibaba為基礎介紹Spring Cloud微服務的應用開發。本書首先介紹了微服務相關知識點,進而闡述主流的微服務框架Spring Cloud Alibaba的實踐應用,涵蓋搭建Spring Cloud Alibaba項目,註冊和配置中心、負載均衡、服務通信、流量控制、服務網關、分布式事務管理、鏈路追蹤和項目部署等內容。本書為立體化新形態教材,配套PPT、源代碼、視頻資源二維碼、課後練習解答等數字資源,便於讀者更加靈活、方便地學習知識點。 本書可作為高等院校計算機相關專業的教材,也可作為Spring Cloud微服務應用開發編程愛好者的自學參考書,本書還適合學習Spring Cloud Alibaba及其生態系統組件開發微服務應用的初學者使用。"
作者簡介
張寺寧,男,畢業於西南交通大學,全日制碩士研究生,講師,軟件設計師,現為廣東輕工職業技術學院大數據技術與應用專業專任教師。在IT企業從事一線軟件研發工作近10年,在企業工作期間,參與多個國家級、省部級和地市級大型IT項目開發工作,包括:全國出入境管理系統、數字化機場管理系統、廣東省地稅運維監控系統、廣東省警務綜合監控系統、佛山地稅運維監控系統等。在校期間,主編出版教材一本,參與1項校級精品課程建設,參與橫向項目,電工考證智能考場管理系統、無人機智慧機場集群管理系統。
目錄大綱
目錄
第1章初識微服務
1.1了解軟件系統架構的演進
1.1.1單體架構
1.1.2垂直分布式架構
1.1.3SOA架構
1.1.4微服務架構
1.2認識Spring Cloud微服務框架
1.2.1Spring Cloud Netflix
1.2.2Spring Cloud Alibaba
1.3搭建Spring Cloud Alibaba項目
1.3.1搭建分布式項目
1.3.2分布式項目引入Spring Cloud Alibaba依賴
1.4綜合案例: Spring Cloud Alibaba初體驗
1.4.1案例任務
1.4.2任務分析
1.4.3任務實施
1.5小結
1.6課後練習: 創建Spring Cloud Alibaba項目
第2章Spring Cloud Alibaba之註冊中心
2.1初識Nacos
2.1.1Nacos的概念
2.1.2Nacos的基本架構
2.1.3Nacos數據模型
2.2Nacos環境搭建
2.2.1版本對應關系
2.2.2搭建Nacos服務端環境
2.2.3搭建Nacos客戶端環境
2.3使用Nacos註冊中心
2.3.1註冊中心的CP和AP模式
2.3.2服務註冊和服務發現
2.3.3註冊中心基本使用
2.3.4CP模式保護閾值使用
2.3.5註冊中心其他常用配置
2.4使用Nacos配置中心
2.4.1配置中心基本功能
2.4.2配置中心基本使用方法
2.4.3配置熱更新的實現方式
2.5綜合案例: Nacos配置共享
2.5.1案例任務
2.5.2任務分析
2.5.3任務實施
2.6小結
2.7課後練習: Nacos服務註冊和相互調用
第3章Spring Cloud Alibaba之負載均衡
3.1初識負載均衡
3.1.1常用的負載均衡策略
3.1.2服務端負載均衡
3.1.3客戶端負載均衡
3.2LoadBalancer負載均衡基本流程
3.3使用LoadBalancer
3.3.1輪詢策略
3.3.2隨機選擇策略
3.3.3Nacos權重分配策略
3.4負載均衡機制下的分布式會話管理
3.4.1初識Spring Session
3.4.2使用Spring Session
3.5綜合案例: LoadBalancer自定義負載均衡策略
3.5.1案例任務
3.5.2任務分析
3.5.3任務實施
3.6小結
3.7課後練習: 自定義基於時間規則的負載均衡策略
第4章Spring Cloud Alibaba之服務通信
4.1微服務系統中的服務通信方式
4.2基於接口的遠程服務通信——RestTemplate
4.2.1初識RestTemplate
4.2.2使用RestTemplate
4.2.3RestTemplate參數傳遞
4.2.4RestTemplate超時配置
4.3基於接口的遠程服務通信——OpenFeign
4.3.1初識OpenFeign
4.3.2使用OpenFeign
4.3.3OpenFeign參數傳遞
4.3.4OpenFeign超時配置
4.3.5OpenFeign日誌配置
4.3.6OpenFeign數據壓縮
4.3.7OpenFeign連接優化
4.4基於消息隊列的遠程服務通信——RocketMQ
4.4.1什麼是消息隊列
4.4.2為什麼需要消息隊列
4.4.3RocketMQ簡介
4.4.4安裝RocketMQ服務端
4.4.5安裝RocketMQ客戶端
4.4.6使用RocketMQ
4.5綜合案例: 利用OpenFeign實現簡單的電商下單功能
4.5.1案例任務
4.5.2任務分析
4.5.3任務實施
4.6小結
4.7課後練習: 利用RestTemplate實現簡單的電商下單功能
第5章Spring Cloud Alibaba之流量控制
5.1初識Sentinel
5.1.1Sentinel的由來
5.1.2Sentinel簡介
5.1.3Sentinel對比Hystrix
5.1.4Sentinel的基本使用
5.1.5JMeter壓力測試工具
5.2Sentinel規則設置
5.2.1流控規則
5.2.2熔斷規則
5.2.3熱點規則
5.2.4授權規則
5.2.5系統規則
5.3Sentinel自定義異常處理
5.3.1初識@SentinelResource註解
5.3.2使用@SentinelResource註解
5.3.3Sentinel統一處理限流異常
5.4服務遠程通信整合Sentinel
5.4.1RestTemplate整合Sentinel
5.4.2OpenFeign整合Sentinel
5.5綜合案例: 基於Nacos持久化存儲Sentinel流控規則
5.5.1案例任務
5.5.2任務分析
5.5.3任務實施
5.6小結
5.7課後練習: 基於Nacos持久化存儲Sentinel熔斷規則
第6章Spring Cloud Alibaba之服務網關
6.1初識Gateway
6.1.1Gateway簡介
6.1.2Gateway的基本使用
6.1.3Gateway整合Naocs
6.2Gateway斷言的使用方法
6.2.1DateTime類型斷言工廠
6.2.2Cookie類型斷言工廠
6.2.3Header類型斷言工廠
6.2.4Host類型斷言工廠
6.2.5Method類型斷言工廠
6.2.6Path類型斷言工廠
6.2.7Query類型斷言工廠
6.2.8RemoteAddr類型斷言工廠
6.2.9Weight類型斷言工廠
6.2.10自定義斷言工廠
6.3Gateway過濾器的使用方法
6.3.1局部過濾器
6.3.2全局過濾器
6.4Gateway跨域設置
6.4.1全局跨域配置
6.4.2局部跨域配置
6.5Gateway整合Sentinel
6.5.1Gateway整合Sentinel實現流控
6.5.2Gateway整合Sentinel實現降級
6.6綜合案例: 搭建高可用Gateway集群
6.6.1案例任務
6.6.2任務分析
6.6.3任務實施
6.7小結
6.8課後練習: 自主練習搭建高可用Gateway集群
第7章Spring Cloud Alibaba之分布式事務管理
7.1初識分布式事務
7.1.1分布式事務的由來
7.1.2分布式事務處理模型和協議
7.2初識Seata
7.2.1Seata的架構
7.2.2Seata的四種事務模式
7.3安裝和使用Seata
7.3.1安裝Seata服務端
7.3.2安裝和使用Seata客戶端
7.4綜合案例: Seata TCC模式事務管理
7.4.1案例任務
7.4.2任務分析
7.4.3任務實施
7.5小結
7.6課後練習: Seata在網購場景下的分布式事務管理
第8章Spring Cloud Alibaba之分布式鏈路追蹤
8.1初識SkyWalking
8.1.1SkyWalking簡介
8.1.2SkyWalking架構
8.2安裝部署SkyWalking
8.2.1部署SkyWalking服務端
8.2.2部署SkyWalking客戶端
8.3使用SkyWalking
8.3.1初識SkyWalking的Web頁面
8.3.2SkyWalking方法級的鏈路追蹤
8.3.3SkyWalking日誌收集
8.3.4SkyWalking告警功能
8.4綜合案例: SkyWalking利用郵件發送告警信息
8.4.1案例任務
8.4.2任務分析
8.4.3任務實施
8.5小結
8.6課後練習: 集成網關模塊實現分布式鏈路追蹤
第9章Spring Cloud Alibaba項目部署
9.1基於Jar部署Spring Cloud Alibaba項目
9.2基於War部署Spring Cloud Alibaba項目
9.3小結
9.4課後練習: 打包部署Spring Cloud Alibaba項目
參考文獻