![](http://img3m7.ddimg.cn/29/17/29351747-1_u_3.jpg)
開本:128開 紙張:膠版紙 包裝:平裝 是否套裝:否 國際標準書號ISBN:9787115576590 叢書名:Web開發人纔培養繫列叢書 作者:李曉黎 出版社:人民郵電出版社 出版時間:2021年12月 
"編輯推薦 1.化繁為簡,精選實用的核心技術!
作為分布式繫統,Spring Boot+Spring Cloud微服務架構包含很多組件,所涉及的技術對於初學者而言可以說是浩如煙海,因此,在有限的篇幅中不可能涵蓋全部。本書在內容的選擇、深度的把握上力求做到深入淺出、循序漸進,方便初學者閱讀和學習。
2.依托圖表和案例,幫助讀者理解抽像的架構設計問題!
作為開發架構類的入門級教材,本書通過各種流程圖、架構圖來描述微服務架構的工作原理。本書通過介紹大量案例,為讀者理解抽像概念提供了捷徑。特別是第10章介紹的“秒殺搶購”案例,可以幫助讀者繫統地理解微服務架構的作用。
3.提供配套教輔資源!
編者為使用本書的教師制作了配套的電子教案,並提供了各章習題的參考答案和11個實驗的電子文檔,以及“秒殺搶購”案例和大作業“迷你購物電商網站應用實例”的數據庫腳本和源程序,上述資源可以通過人郵教育社區(www.ryjiaoyu.com)進行下載。 內容簡介 Spring Boot + Spring Cloud + Docker是目前國內相關領域工程人員搭建微服務架構的主要解決方案之一,它基於的是流行的Java開發框架——Spring,現已成為微服務架構的技術方案。
本書通過大量案例介紹使用Spring Boot + Spring Cloud + Docker開發微服務架構(應用程序)的方法,包括開發服務注冊中心程序、服務提供者程序、服務消費者程序、認證服務、API網關等組件,進而搭建完整的微服務架構。為了便於初學者學習和理解相關內容,編者大量使用流程圖和架構圖對問題進行描述和講解;同時,精選“秒殺搶購”案例,使讀者直觀地了解微服務架構在實際應用程序開發工作中的應用,提升讀者的實戰技能。
本書可作為高等院校相關課程的教材,也可作為廣大互聯網應用程序開發人員的參考書。 作者簡介 李曉黎: 1998年畢業於吉林大學計算機繫,碩士,具有中國投資銀行、國家開發銀行、中信實業銀行等多家銀行從業經歷,多年參與銀行信息化建設和網銀平臺開發工作,積累了深厚的全棧技術和豐富的實戰開發經驗,自2006年以來10多年間帶領所組建的開發團隊,從事網絡管理軟件、企業ERP繫統和電商平臺的開發與建設,對開發模式、開發團隊組織管理和繫統架構設計有著深入的理解和豐富的實戰經驗。在帶領技術團隊的過程中積累了豐富的專業技術與培訓經驗。 目錄 第 1章 微服務架構概述
1.1軟件繫統架構01
1.1.1計算機硬件發展對軟件繫統架構的影響01
1.1.2軟件繫統架構的演進03
1.2主流微服務架構解決方案08
1.3開發環境和測試環境10
1.3.1開發環境11 第 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.1Spring框架27
2.1.1Spring框架的體繫結構27
2.1.2一個簡單的Maven項目案例29
2.1.3IoC容器32
2.1.4注解36
2.2Spring Boot編程基礎41
2.2.1Spring與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.3Spring Cloud概述65
2.3.1Spring Cloud家族的成員65
2.3.2Spring Cloud與Spring Boot的 關繫67
2.3.3Spring Boot與Spring Cloud的 版本67
本章小結69
習題2
第3章服務注冊中心程序開發
3.1Spring Cloud Eureka的服務注冊機制71
3.2開發基於Eureka的服務注冊中心程序72
3.2.1本章案例項目72
3.2.2啟動類73
3.2.3Eureka服務注冊中心的主頁73
3.2.4配置文件75
3.2.5Eureka的高可用性78
3.2.6部署Eureka服務注冊中心78
3.2.7以服務形式運行Eureka Server82
本章小結84
習題3
第4章服務提供者程序開發
4.1開發基於RESTful架構的Web服務86
4.1.1RESTful架構概述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 Server91
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.2Spring Cloud Ribbon107
5.2.1負載均衡107
5.2.2Spring Cloud Ribbon編程基礎109
5.3Spring Cloud Feign113
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.2OAuth 2.0概述119
6.2開發基於OAuth 2.0的認證服務122
6.2.1與安全認證有關的數據庫表122
6.2.2認證服務項目127
6.2.3啟動類129
6.2.4MyBatis配置129
6.2.5用戶管理的實現130
6.2.6安全配置類132
6.2.7部署認證服務135
6.2.8使用Postman獲取access token136
6.3服務提供者程序的安全機制137
6.3.1服務提供者程序安全機制的工作原理137
6.3.2服務提供者程序的啟動類138
6.3.3資源服務配置類138
6.4在應用程序中獲取access token140
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.1Spring Cloud Hystrix概述146
7.1.1熔斷器的工作原理146
7.1.2Spring Cloud Hystrix的工作原理147
7.2準備服務提供者實例環境148
7.2.1對User服務進行適當的改造148
7.2.2為User服務部署多個實例149
7.3Spring Cloud Hystrix編程149
7.3.1在項目中啟用Hystrix組件149
7.3.2在Ribbon中應用Hystrix150
7.3.3在Feign中應用Hystrix153
本章小結155
習題7
第8章API網關
8.1Spring Cloud Zuul概述157
8.2Spring Cloud Zuul編程158
8.2.1在項目中啟用Zuul組件158
8.2.2在application.yml中配置Zuul158
8.2.3Zuul過濾器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.1Spring Cloud Config概述180
9.2Git基礎181
9.2.1Git的工作流程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.1pom依賴和啟動類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.4Spring Boot集成RabbitMQ 消息隊列204
10.2Spring Cloud Bus213
10.2.1Spring Cloud Bus的工作 原理213
10.2.2開發Spring Cloud Bus應用 程序215
10.2.3在配置中心中實現自動刷新 配置功能215
10.3通過Spring Cloud Stream收發消息219
10.3.1Spring 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.1Docker概述244
11.1.2Docker的基本概念245
11.1.3Docker與虛擬機的對比246
11.2Docker基礎247
11.2.1在CentOS中安裝Docker247
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.3Docker Compose267
11.3.1Docker Compose的特性267
11.3.2在CentOS中安裝Docker Compose267
11.3.3Docker Compose中的層次 概念268
11.3.4docker-compose.yml配置 文件268
11.3.5Docker Compose的常用 命令270
11.3.6通過Docker Compose 搭建 微服務項目271
本章小結282
習題11
|