Spring Boot+Spring Cloud+Docker微服務架構開發實戰

Spring Boot+Spring Cloud+Docker微服務架構開發實戰

《Spring Boot+Spring Cloud+Docker微服務架構開發實戰》是2021年人民郵電出版社出版的圖書。

基本介紹

  • 中文名:Spring Boot+Spring Cloud+Docker微服務架構開發實戰
  • 作者:李曉黎
  • 出版時間:2021年
  • 出版社:人民郵電出版社
  • ISBN:9787115576590
  • 開本:128 開
  • 裝幀:平裝-膠訂
內容簡介,圖書目錄,作者簡介,

內容簡介

Spring Boot + Spring Cloud + Docker是目前國內相關領域工程人員搭建微服務架構的主要解決方案之一,它基於的是流行的Java開發框架——Spring,現已成為微服務架構的技術方案。
本書通過大量案例介紹使用Spring Boot + Spring Cloud + Docker開發微服務架構(應用程式)的方法,包括開發服務註冊中心程式、服務提供者程式、服務消費者程式、認證服務、API網關等組件,進而搭建完整的微服務架構。為了便於初學者學習和理解相關內容,編者大量使用流程圖和架構圖對問題進行描述和講解;同時,精選“秒殺搶購”案例,使讀者直觀地了解微服務架構在實際應用程式開發工作中的套用,提升讀者的實戰技能。
本書可作為高等院校相關課程的教材,也可作為廣大網際網路應用程式開發人員的參考書。

圖書目錄

第 1章 微服務架構概述
1.1 軟體系統架構 01
1.1.1 計算機硬體發展對軟體系統架構的影響 01
1.1.2 軟體系統架構的演進 03
1.2 主流微服務架構解決方案 08
1.3 開發環境和測試環境 10
1.3.1 開發環境 11
1.3.2 測試環境 14
本章小結 25
習題1
第 2章 Spring Boot和Spring Cloud編程基礎
2.1 Spring框架 27
2.1.1 Spring框架的體系結構 27
2.1.2 一個簡單的Maven項目案例 29
2.1.3 IoC容器 32
2.1.4 註解 36
2.2 Spring Boot編程基礎 41
2.2.1 Spring與Spring Boot的關係 41
2.2.2 開發一個簡單的Spring Boot應用程式 41
2.2.3 基於Spring Boot開發MVC Web應用程式 45
2.2.4 利用Thymeleaf模板引擎實現動態頁面 50
2.2.5 記錄日誌 54
2.2.6 通過MyBatis訪問MySQL資料庫 57
2.2.7 以Jar包形式運行Spring Boot應用程式 64
2.3 Spring Cloud概述 65
2.3.1 Spring Cloud家族的成員 65
2.3.2 Spring Cloud與Spring Boot的 關係 67
2.3.3 Spring Boot與Spring Cloud的 版本 67
本章小結 69
習題2
第3章 服務註冊中心程式開發
3.1 Spring Cloud Eureka的服務註冊機制 71
3.2 開發基於Eureka的服務註冊中心程式 72
3.2.1 本章案例項目 72
3.2.2 啟動類 73
3.2.3 Eureka服務註冊中心的主頁 73
3.2.4 配置檔案 75
3.2.5 Eureka的高可用性 78
3.2.6 部署Eureka服務註冊中心 78
3.2.7 以服務形式運行Eureka Server 82
本章小結 84
習題3
第4章 服務提供者程式開發
4.1 開發基於RESTful架構的Web服務 86
4.1.1 RESTful架構概述 86
4.1.2 開發RESTful服務 87
4.1.3 實現POST方法 88
4.1.4 實現PUT方法 88
4.1.5 實現DELETE方法 89
4.1.6 以JSON格式傳遞數據 89
4.2 開發Spring Cloud資源服務 91
4.2.1 註冊到Eureka Server 91
4.2.2 案例:開發用戶系統服務 91
4.2.3 使用Postman測試服務提供者程式 99
本章小結 104
習題4
第5章 服務消費者程式開發
5.1 準備服務提供者實例環境 105
5.1.1 對User服務進行適當的改造 105
5.1.2 為User服務部署多個實例 106
5.2 Spring Cloud Ribbon 107
5.2.1 負載均衡 107
5.2.2 Spring Cloud Ribbon編程基礎 109
5.3 Spring Cloud Feign 113
5.3.1 添加Feign依賴 113
5.3.2 項目的啟動類 114
5.3.3 @FeignClient註解 114
本章小結 116
習題5
第6章 認證服務開發
6.1 微服務架構的安全認證 118
6.1.1 認證伺服器的作用 118
6.1.2 OAuth 2.0概述 119
6.2 開發基於OAuth 2.0的認證服務 122
6.2.1 與安全認證有關的資料庫表 122
6.2.2 認證服務項目 127
6.2.3 啟動類 129
6.2.4 MyBatis配置 129
6.2.5 用戶管理的實現 130
6.2.6 安全配置類 132
6.2.7 部署認證服務 135
6.2.8 使用Postman獲取access token 136
6.3 服務提供者程式的安全機制 137
6.3.1 服務提供者程式安全機制的工作原理 137
6.3.2 服務提供者程式的啟動類 138
6.3.3 資源服務配置類 138
6.4 在應用程式中獲取access token 140
6.4.1 在程式中以POST方法調用接口 140
6.4.2 在POST請求包頭中指定Basic Auth信息 141
6.4.3 在POST請求包中指定grant_type和scope參數 141
6.4.4 從認證服務獲取access token的案例 142
本章小結 144
習題6
第7章 微服務的容錯保護機制
7.1 Spring Cloud Hystrix概述 146
7.1.1 熔斷器的工作原理 146
7.1.2 Spring Cloud Hystrix的工作原理 147
7.2 準備服務提供者實例環境 148
7.2.1 對User服務進行適當的改造 148
7.2.2 為User服務部署多個實例 149
7.3 Spring Cloud Hystrix編程 149
7.3.1 在項目中啟用Hystrix組件 149
7.3.2 在Ribbon中套用Hystrix 150
7.3.3 在Feign中套用Hystrix 153
本章小結 155
習題7
第8章 API網關
8.1 Spring Cloud Zuul概述 157
8.2 Spring Cloud Zuul編程 158
8.2.1 在項目中啟用Zuul組件 158
8.2.2 在application.yml中配置Zuul 158
8.2.3 Zuul過濾器 159
8.2.4 通過Zuul伺服器調用服務 162
8.2.5 設定Zuul網關的白名單 164
8.2.6 記錄訪問日誌 168
8.3 應用程式通過API網關調用服務接口 171
8.3.1 在應用程式中以GET方式調用接口 171
8.3.2 在應用程式中以POST方式調用接口 174
本章小結 179
習題8
第9章 微服務配置中心
9.1 Spring Cloud Config概述 180
9.2 Git基礎 181
9.2.1 Git的工作流程 181
9.2.2 註冊GitHub賬號 182
9.2.3 創建GitHub倉庫 182
9.2.4 在STS中上傳代碼至GitHub倉庫 182
9.3 開發配置中心的伺服器 185
9.3.1 在項目中啟用Spring CloudConfig Server組件 185
9.3.2 共享Config Server的本地配置檔案 186
9.3.3 使用Git管理配置檔案 188
9.3.4 部署ConfigServerGit項目 190
9.4 開發配置中心的客戶端 191
9.4.1 pom依賴和啟動類 191
9.4.2 配置中心客戶端程式的配置檔案 192
9.4.3 配置中心的客戶端程式案例 193
本章小結 195
習題9
第 10章 微服務架構的訊息機制
10.1 應用程式的訊息機制 196
10.1.1 單機應用程式的訊息機制 196
10.1.2 分散式應用程式的訊息 機制 197
10.1.3 基於Redis實現分散式訊息 佇列 199
10.1.4 Spring Boot集成RabbitMQ 訊息佇列 204
10.2 Spring Cloud Bus 213
10.2.1 Spring Cloud Bus的工作 原理 213
10.2.2 開發Spring Cloud Bus套用 程式 215
10.2.3 在配置中心中實現自動刷新 配置功能 215
10.3 通過Spring Cloud Stream收發訊息 219
10.3.1 Spring Cloud Stream套用 程式模型 219
10.3.2 利用Spring Cloud Stream集成 RabbitMQ實現訊息處理 220
10.4 訊息佇列在秒殺搶購場景中的套用 224
10.4.1 秒殺搶購套用場景解析 225
10.4.2 傳統架構的高並發瓶頸 225
10.4.3 秒殺搶購解決方案 226
10.4.4 限流算法及其實現 228
10.4.5 秒殺搶購案例 230
本章小結 243
習題10
第 11章 利用Docker容器化部署微服務套用
11.1 容器化概述 244
11.1.1 Docker概述 244
11.1.2 Docker的基本概念 245
11.1.3 Docker與虛擬機的對比 246
11.2 Docker基礎 247
11.2.1 在CentOS中安裝Docker 247
11.2.2 使用Docker容器 249
11.2.3 搭建Docker Registry私服 253
11.2.4 使用Docker部署Spring Boot 應用程式 255
11.2.5 以Docker鏡像的形式運行 Eureka服務應用程式 259
11.2.6 在Docker中使用自定義的 配置檔案 260
11.2.7 修改Docker容器中的配置 檔案 262
11.2.8 容器中日誌的持久化 264
11.3 Docker Compose 267
11.3.1 Docker Compose的特性 267
11.3.2 在CentOS中安裝Docker Compose 267
11.3.3 Docker Compose中的層次 概念 268
11.3.4 docker-compose.yml配置 檔案 268
11.3.5 Docker Compose的常用 命令 270
11.3.6 通過Docker Compose 搭建 微服務項目 271
本章小結 282
習題11

作者簡介

李曉黎: 1998年畢業於吉林大學計算機系,碩士,具有中國投資銀行、國家開發銀行、中信實業銀行等多家銀行從業經歷,多年參與銀行信息化建設和網銀平台開發工作,積累了深厚的全棧技術和豐富的實戰開發經驗,自2006年以來10多年間帶領所組建的開發團隊,從事網路管理軟體、企業ERP系統和電商平台的開發與建設,對開發模式、開發團隊組織管理和系統架構設計有著深入的理解和豐富的實戰經驗。在帶領技術團隊的過程中積累了豐富的專業技術與培訓經驗。

相關詞條

熱門詞條

聯絡我們