內容簡介
本書以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 單體架構 1
1 1 2 垂直分布式架構 2
1 1 3 SOA架構 2
1 1 4 微服務架構 3
1 2 認識Spring Cloud微服務框架 4
1 2 1 Spring Cloud Netflix 4
1 2 2 Spring Cloud Alibaba 6
1 3 搭建Spring Cloud Alibaba項目 7
1 3 1 搭建分布式項目 8
1 3 2 分布式項目引人Spring Cloud Alibaba依賴 13
1 4 綜合案例:Spring Cloud Alibaba初體驗 15
1 4 1 案例任務 15
1 4 2 任務分析 16
1 4 3 任務實施 16
1 5 小結 18
1 6 課後練習:創建Spring Cloud Alibaba項目 18
第2章 Spring Cloud Alibaba之註冊中心 19
2 1 初識Nacos 19
2 1 1 Nacos的概念 19
2 1 2 Nacos的基本架構 20
2 1 3 Nacos數據模型 21
2 2 Nacos環境搭建 22
2 2 1 版本對應關係 22
2 2 2 搭建Nacos服務端環境 23
2 2 3 搭建Nacos客戶端環境 25
2 3 使用Nacos註冊中心 26
2 3 1註冊中心的CP和AP模式 26
2 3 2 服務註冊和服務發現 27
2 3 3 註冊中心基本使用 29
2 3 4 CP模式保護閾值使用 35
2 3 5 註冊中心其他常用配置 38
2 4 使用Nacos配置中心 39
2 4 1 配置中心基本功能 39
2 4 2 配置中心基本使用方法 41
2 4 3 配置熱更新的實現方式 46
2 5 綜合案例:Nacos配置共享 48
2 5 1 案例任務 48
2 5 2 任務分析 48
2 5 3 任務實施 49
2 6 小結 52
2 7 課後練習:Nacos服務註冊和相互調用 52
第3章 Spring Cloud Alibaba之負載均衡 53
3 1 初識負載均衡 53
3 1 1 常用的負載均衡策略 53
3 1 2 服務端負載均衡 55
3 1 3 客戶端負載均衡 55
3 2 LoadBalancer負載均衡基本流程 55
3 3 使用LoadBalancer 56
3 3 1 輪詢策略 57
3 3 2 隨機選擇策略 63
3 3 3 Nacos權重分配策略 65
3 4 負載均衡機制下的分布式會話管理 66
3 4 1 初識Spring Session 67
3 4 2 使用Spring Session 68
3 5 綜合案例:LoadBalancer自定義負載均衡策略 71
3 5 1 案例任務 71
3 5 2 任務分析 71
3 5 3 任務實施 72
3 6 小結 75
3 7 課後練習:自定義基於時間規則的負載均衡策略 75
第4章 Spring Cloud Alibaba之服務通信 76
4 1 微服務系統中的服務通信方式 76
4 2 基於接口的遠程服務通信——RestTemplate 76
4 2 1 初識RestTemplate 77
4 2 2 使用RestTemplate 77
4 2 3 RestTemplate參數傳遞 88
4 2 4 RestTemplate超時配置 90
4 3 基於接口的遠程服務通信——OpenFeign 91
4 3 1 初識OpenFeign 91
4 3 2 使用OpenFeign 92
4 3 3 OpenFeign參數傳遞 94
4 3 4 OpenFeign超時配置 98
4 3 5 OpenFeign日誌配置 103
4 3 6 OpenFeign數據壓縮 108
4 3 7 OpenFeign連接優化 109
4 4 基於消息隊列的遠程服務通信——RocketMQ 115
4 4 1 什麼是消息隊列 115
4 4 2 為什麼需要消息隊列 115
4 4 3 RocketMQ簡介 117
4 4 4 安裝RocketMQ服務端 119
4 4 5 安裝RocketMQ客戶端 122
4 4 6 使用RocketMQ 122
4 5 綜合案例:利用OpenFeign實現簡單的電商下單功能 130
4 5 1 案例任務 130
4 5 2 任務分析 131
4 5 3 任務實施 131
4 6 小結 140
4 7 課後練習:利用RestTemplate實現簡單的電商下單功能 140
第5章 Spring Cloud Alibaba之流量控制 141
第6章 Spring Cloud Alibaba之服務網關 189
第7章 Spring Cloud Alibaba之分布式事務管理 234
第8章 Spring Cloud Alibaba之分布式鏈路追蹤 263
第9章 Spring Cloud Alibaba項目部署 286
參考文獻 299
前言/序言
為了幫助讀者學習、掌握和使用Java語言設計並瞭解開發項目的方法,編者攜手企業具有豐富經驗的工程師開發了一整套Java技術體系叢書。本叢書共5本,包括《Java面向對象程序設計(微課視頻版)》Java Web程序設計(微課視頻版)》Spring框架應用開發——基於Spring Boot(微課視頻版)》Spring Cloud微服務應用開發——基於Alibaba Nacos(微課視頻版)》和《Spring微服務系統部署(微課視頻版)》。
本書介紹Spring Cloud Alibaba框架的核心技術。全書採用項目式教學模式,以項目、任務為驅動講解Spring Cloud Alibaba框架理論知識和實踐應用,並配套相應的數字資源。
全書共9章 。第1章 介紹了軟件系統架構的演進、Spring CloudAlibaba環境搭建和初步使用方法;第2章 介紹了Spring Cloud Alibaba框架的註冊方法、配置中心組件Nacos的核心概念以及編程使用方法;第3章 介紹了LoadBalancer組件的核心概念和負載均衡策略的編程使用方法;第4章 介紹了基於RestTemplate和OpenFeign兩種方式的服務遠程通信編程使用方法;第5章 介紹了Spring Cloud Alibaba流量控制組件Sentinel的核心概念和編程使用方法;第6章 介紹了Spring Cloud Alibaba網關組件Gateway的核心概念和編程使用方法;第7章 介紹了SpringCloudAlibaba分布式事務管理組件Seata的核心概念和編程使用方法;第8章 介紹了當前主流國產分布式鏈路追蹤組件SkyWalking的核心概念和使用方法;第9章 介紹了基於Jar和War兩種方式打包部署Spring CloudAlibaba項目的整體過程。
本書建議授課課時為76課時。
本書的第1、2章 由吳紹根編寫,第3~9章 由張寺寧編寫。本書配有詳細的PPT、教案、源代碼課後練習答案等數字資源,這些數字資源可從清華大學出版社官網下載。
編者
2025年1月
詳細資料或其他書籍請至台灣高等教育出版社查詢,查後請於客服中心或Line或本社留言板留言,我們即儘速上架。