注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)網(wǎng)絡(luò)與數(shù)據(jù)通信網(wǎng)絡(luò)服務(wù)Spring Cloud微服務(wù):入門、實(shí)戰(zhàn)與進(jìn)階

Spring Cloud微服務(wù):入門、實(shí)戰(zhàn)與進(jìn)階

Spring Cloud微服務(wù):入門、實(shí)戰(zhàn)與進(jìn)階

定 價(jià):¥89.00

作 者: 尹吉?dú)g
出版社: 機(jī)械工業(yè)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

ISBN: 9787111627319 出版時(shí)間: 2019-06-01 包裝: 平裝
開本: 16開 頁數(shù): 400 字?jǐn)?shù):  

內(nèi)容簡介

  內(nèi)容簡介 這是一部從技術(shù)原理、工程實(shí)踐和進(jìn)階提升3個(gè)維度講解Spring Cloud微服務(wù)架構(gòu)與開發(fā)的著作。 作者在Spring Cloud微服務(wù)領(lǐng)域有豐富的工程實(shí)踐經(jīng)驗(yàn),它將帶領(lǐng)讀者零基礎(chǔ)入門Spring Cloud微服務(wù),并快速掌握動手實(shí)踐能力,*終進(jìn)階為Spring Cloud微服務(wù)領(lǐng)域的技術(shù)達(dá)人。 全書共21章,分為4個(gè)部分: 第壹部分 準(zhǔn)備篇(第1~2章) 首先對微服務(wù)和Spring Cloud的概念、優(yōu)劣勢、功能模塊等做了整體性的介,然后演示了如何搭建Spring Cloud的開發(fā)環(huán)境,*后對Spring Boot做了詳細(xì)的介紹。第二部分 基礎(chǔ)篇(第3~7章) 對Eureka 注冊中心、客戶端負(fù)載均衡 Ribbon、聲明式 REST 客戶端 Feign、Hystrix 服務(wù)容錯處理、API 網(wǎng)關(guān)等Spring Cloud的重要模塊的技術(shù)原理、配置、使用等做了詳盡的講解。 第三部分 實(shí)戰(zhàn)篇(第8~14章) 對微服務(wù)架構(gòu)中的普遍問題給出了實(shí)戰(zhàn)解決方案,包括選擇配置中心、自研發(fā)配置中心、分布式跟蹤、微服務(wù)安全認(rèn)證、Spring Boot Admin 管理微服務(wù)、快速生成 API 文檔等實(shí)用性內(nèi)容。 第四部分 高級篇(15-21) 重點(diǎn)講解了Spring Cloud的擴(kuò)展性的使用,比如API網(wǎng)關(guān)、微服務(wù)的緩存和存儲、分布式事務(wù)解決方案、任務(wù)調(diào)度、分庫分表,以及大量的生產(chǎn)實(shí)踐經(jīng)驗(yàn)等。

作者簡介

  作者簡介 尹吉?dú)g(YinJiHuan) Java開發(fā)工程師,在Spring Cloud和微服務(wù)方面有豐富的經(jīng)驗(yàn)。喜歡寫代碼,研究技術(shù),座右銘是“簡單的技術(shù)愛好者”。 一直在上海從事Java服務(wù)端開發(fā)工作,前端也略有涉及。曾就職于魯班軟件,一起唱等互聯(lián)網(wǎng)公司,目前就職于房產(chǎn)大數(shù)據(jù)公司房價(jià)網(wǎng),擔(dān)任技術(shù)經(jīng)理,負(fù)責(zé)公司產(chǎn)品的開發(fā)和管理工作。 2016年創(chuàng)辦了自己的技術(shù)網(wǎng)站‘猿天地’,主要提供Java相關(guān)技術(shù)的分享和視頻課程。主要關(guān)注分布式、高并發(fā)、后端服務(wù),目前的重心是微服務(wù)。

圖書目錄

贊譽(yù)
前言
第一部分 準(zhǔn)備篇
第1章 Spring Cloud 與微服務(wù)概述 2
1.1 傳統(tǒng)的單體應(yīng)用 2
1.1.1 改進(jìn)單體應(yīng)用的架構(gòu) 2
1.1.2 向微服務(wù)靠攏 3
1.2 什么是微服務(wù) 4
1.2.1 使用微服務(wù)架構(gòu)的優(yōu)勢和劣勢 4
1.2.2 重構(gòu)前的準(zhǔn)備工作 5
1.3 什么是Spring Cloud 5
1.3.1 Spring Cloud模塊介紹 6
1.3.2 Spring Cloud版本介紹 6
1.4 本章小結(jié) 7
第2章 實(shí)戰(zhàn)前的準(zhǔn)備工作 8
2.1 開發(fā)環(huán)境的準(zhǔn)備 8
2.2 Spring Boot入門 9
2.2.1 Spring Boot簡介 9
2.2.2 搭建Spring Boot項(xiàng)目 9
2.2.3 編寫第一個(gè)REST接口 11
2.2.4 讀取配置文件 11
2.2.5 profiles多環(huán)境配置 13
2.2.6 熱部署 13
2.2.7 actuator監(jiān)控 15
2.2.8 自定義actuator端點(diǎn) 17
2.2.9 統(tǒng)一異常處理 18
2.2.10 異步執(zhí)行 20
2.2.11 隨機(jī)端口 22
2.2.12 編譯打包 24
2.3 Spring Boot Starter自定義 25
2.3.1 Spring Boot Starter項(xiàng)目創(chuàng)建 25
2.3.2 自動創(chuàng)建客戶端 26
2.3.3 使用Starter 27
2.3.4 使用注解開啟Starter自動構(gòu)建 27
2.3.5 使用配置開啟Starter自動構(gòu)建 28
2.3.6 配置Starter內(nèi)容提示 29
2.4 本章小結(jié) 29
第二部分 基礎(chǔ)篇
第3章 Eureka 注冊中心 32
3.1 Eureka 32
3.2 使用 Eureka 編寫注冊中心服務(wù) 33
3.3 編寫服務(wù)提供者 35
3.3.1 創(chuàng)建項(xiàng)目注冊到Eureka 35
3.3.2 編寫提供接口 36
3.4 編寫服務(wù)消費(fèi)者 37
3.4.1 直接調(diào)用接口 37
3.4.2 通過Eureka來消費(fèi)接口 38
3.5 開啟 Eureka 認(rèn)證 38
3.6 Eureka 高可用搭建 39
3.6.1 高可用原理 39
3.6.2 搭建步驟 40
3.7 常用配置講解 41
3.7.1 關(guān)閉自我保護(hù) 41
3.7.2 自定義Eureka的
InstanceID 41
3.7.3 自定義實(shí)例跳轉(zhuǎn)鏈接 42
3.7.4 快速移除已經(jīng)失效的服務(wù)信息 43
3.8 擴(kuò)展使用 44
3.8.1 Eureka REST API 44
3.8.2 元數(shù)據(jù)使用 46
3.8.3 EurekaClient使用 47
3.8.4 健康檢查 49
3.8.5 服務(wù)上下線監(jiān)控 50
3.9 本章小結(jié) 51
第4章 客戶端負(fù)載均衡 Ribbon 52
4.1 Ribbon 52
4.1.1 Ribbon模塊 52
4.1.2 Ribbon 使用 53
4.2 RestTemplate 結(jié)合 Ribbon 使用 54
4.2.1 使用 RestTemplate 與整合 Ribbon 54
4.2.2 RestTemplate 負(fù)載均衡示例 57
4.2.3 @LoadBalanced 注解原理 58
4.2.4 Ribbon API 使用 62
4.2.5 Ribbon 饑餓加載 63
4.3 負(fù)載均衡策略介紹 64
4.4 自定義負(fù)載策略 65
4.5 配置詳解 66
4.5.1 常用配置 66
4.5.2 代碼配置 Ribbon 67
4.5.3 配置文件方式配置Ribbon 67
4.6 重試機(jī)制 68
4.7 本章小結(jié) 69
第5章 聲明式REST客戶端Feign 70
5.1 使用 Feign 調(diào)用服務(wù)接口 70
5.1.1 在Spring Cloud中集成Feign 71
5.1.2 使用Feign調(diào)用接口 71
5.2 自定義 Feign的配置 72
5.2.1 日志配置 72
5.2.2 契約配置 73
5.2.3 Basic認(rèn)證配置 74
5.2.4 超時(shí)時(shí)間配置 75
5.2.5 客戶端組件配置 75
5.2.6 GZIP壓縮配置 76
5.2.7 編碼器解碼器配置 77
5.2.8 使用配置自定義Feign的配置 78
5.2.9 繼承特性 78
5.2.10 多參數(shù)請求構(gòu)造 80
5.3 脫離 Spring Cloud 使用 Feign 80
5.3.1 原生注解方式 81
5.3.2 構(gòu)建Feign對象 82
5.3.3 其他配置 83
5.4 本章小結(jié) 83
第6章 Hystrix 服務(wù)容錯處理 84
6.1 Hystrix 84
6.1.1 Hystrix的簡單使用 84
6.1.2 回退支持 85
6.1.3 信號量策略配置 86
6.1.4 線程隔離策略配置 86
6.1.5 結(jié)果緩存 87
6.1.6 緩存清除 88
6.1.7 合并請求 89
6.2 在 Spring Cloud 中使用Hystrix 91
6.2.1 簡單使用 91
6.2.2 配置詳解 92
6.2.3 Feign整合Hystrix服務(wù)容錯 95
6.2.4 Feign中禁用Hystrix 97
6.3 Hystrix 監(jiān)控 97
6.4 整合 Dashboard 查看監(jiān)控?cái)?shù)據(jù) 98
6.5 Turbine 聚合集群數(shù)據(jù) 100
6.5.1 Turbine使用 100
6.5.2 context-path導(dǎo)致監(jiān)控失敗 101
6.6 本章小結(jié) 102
第7章 API網(wǎng)關(guān) 103
7.1 Zuul 簡介 103
7.2 使用 Zuul 構(gòu)建微服務(wù)網(wǎng)關(guān) 104
7.2.1 簡單使用 104
7.2.2 集成Eureka 105
7.3 Zuul 路由配置 105
7.4 Zuul過濾器講解 106
7.4.1 過濾器類型 106
7.4.2 請求生命周期 107
7.4.3 使用過濾器 108
7.4.4 過濾器禁用 109
7.4.5 過濾器中傳遞數(shù)據(jù) 110
7.4.6 過濾器攔截請求 111
7.4.7 過濾器中異常處理 113
7.5 Zuul 容錯和回退 115
7.5.1 容錯機(jī)制 115
7.5.2 回退機(jī)制 116
7.6 Zuul使用小經(jīng)驗(yàn) 118
7.6.1 /routes 端點(diǎn) 118
7.6.2 /filters 端點(diǎn) 118
7.6.3 文件上傳 119
7.6.4 請求響應(yīng)信息輸出 121
7.6.5 Zuul自帶的Debug功能 124
7.7 Zuul 高可用 126
7.8 本章小結(jié) 127
第三部分 實(shí)戰(zhàn)篇
第8章 API 網(wǎng)關(guān)之Spring Cloud Gateway 130
8.1 Spring Cloud Gateway介紹 130
8.2 Spring Cloud Gateway工作原理 131
8.3 Spring Cloud Gateway快速上手 131
8.3.1 創(chuàng)建Gateway項(xiàng)目 131
8.3.2 路由轉(zhuǎn)發(fā)示例 132
8.3.3 整合Eureka路由 133
8.3.4 整合Eureka的默認(rèn)路由 133
8.4 Spring Cloud Gateway路由斷言工廠 134
8.4.1 路由斷言工廠使用 134
8.4.2 自定義路由斷言工廠 136
8.5 Spring Cloud Gateway過濾器工廠 137
8.5.1 Spring Cloud Gateway過濾器工廠使用 137
8.5.2 自定義Spring Cloud Gateway過濾器工廠 138
8.6 全局過濾器 140
8.7 實(shí)戰(zhàn)案例 143
8.7.1 限流實(shí)戰(zhàn) 143
8.7.2 熔斷回退實(shí)戰(zhàn) 145
8.7.3 跨域?qū)崙?zhàn) 145
8.7.4 統(tǒng)一異常處理 147
8.7.5 重試機(jī)制 150
8.8 本章小結(jié) 151
第9章 自研分布式配置管理 152
9.1 自研配置管理框架 Smconf 簡介 152
9.2 Smconf 工作原理 153
9.3 Smconf 部署 154
9.3.1 Mongodb 安裝 154
9.3.2 Zookeeper 安裝 155
9.3.3 Smconf Server 部署 156
9.4 項(xiàng)目中集成 Smconf 157
9.4.1 集成Smconf 157
9.4.2 使用Smconf 158
9.4.3 配置更新回調(diào) 159
9.5 Smconf 詳細(xì)使用 160
9.5.1 源碼編譯問題 160
9.5.2 后臺賬號管理 160
9.5.3 REST API 161
9.6 Smconf 源碼解析 163
9.6.1 Client啟動 163
9.6.2 啟動加載配置 165
9.6.3 配置修改推送原理 166
9.7 本章小結(jié) 167
第10章 分布式配置中心Apollo 168
10.1 Apollo簡介 168
10.2 Apollo的核心功能點(diǎn) 168
10.3 Apollo核心概念 170
10.4 Apollo本地部署 171
10.5 Apollo Portal管理后臺使用 172
10.6 Java中使用Apollo 174
10.6.1 普通Java項(xiàng)目中使用 174
10.6.2 Spring Boot中使用 177
10.7 Apollo的架構(gòu)設(shè)計(jì) 179
10.7.1 Apollo架構(gòu)設(shè)計(jì)介紹 179
10.7.2 Apollo服務(wù)端設(shè)計(jì) 181
10.7.3 Apollo客戶端設(shè)計(jì) 188
10.7.4 Apollo高可用設(shè)計(jì) 195
10.8 本章小結(jié) 196
第11章 Sleuth 服務(wù)跟蹤 197
11.1 Spring Cloud 集成 Sleuth 197
11.2 整合 Logstash 198
11.2.1 ELK 簡介 198
11.2.2 輸出 JSON 格式日志 198
11.3 整合 Zipkin 200
11.3.1 Zipkin 數(shù)據(jù)收集服務(wù) 200
11.3.2 項(xiàng)目集成 Zipkin 發(fā)送調(diào)用鏈數(shù)據(jù) 201
11.3.3 抽樣采集數(shù)據(jù) 203
11.3.4 異步任務(wù)線程池定義 203
11.3.5 TracingFilter 204
11.3.6 監(jiān)控本地方法 205
11.3.7 過濾不想跟蹤的請求 206
11.3.8 用 RabbitMq 代替 Http 發(fā)送調(diào)用鏈數(shù)據(jù) 206
11.3.9 用 Elasticsearch 存儲調(diào)用鏈數(shù)據(jù) 207
11.4 本章小結(jié) 208
第12章 微服務(wù)之間調(diào)用的安全認(rèn)證 209
12.1 什么是 JWT 209
12.2 創(chuàng)建統(tǒng)一的認(rèn)證服務(wù) 210
12.2.1 表結(jié)構(gòu) 210
12.2.2 JWT工具類封裝 210
12.2.3 認(rèn)證接口 212
12.3 服務(wù)提供方進(jìn)行調(diào)用認(rèn)證 212
12.4 服務(wù)消費(fèi)方申請 Token 214
12.5 Feign 調(diào)用前統(tǒng)一申請 Token 傳遞到調(diào)用的服務(wù)中 216
12.6 RestTemplate調(diào)用前統(tǒng)一申請 Token 傳遞到調(diào)用的服務(wù)中 217
12.7 Zuul 中傳遞 Token 到路由的服務(wù)中 218
12.8 本章小結(jié) 219
第13章 Spring Boot Admin 220
13.1 Spring Boot Admin 的使用方法 220
13.1.1 創(chuàng)建 Spring Boot Admin項(xiàng)目 220
13.1.2 將服務(wù)注冊到 Spring Boot Admin 221
13.1.3 監(jiān)控內(nèi)容介紹 223
13.1.4 如何在 Admin 中查看各個(gè)服務(wù)的日志 225
13.2 開啟認(rèn)證 226
13.3 集成 Eureka 227
13.4 監(jiān)控服務(wù) 228
13.4.1 郵件警報(bào) 228
13.4.2 自定義釘釘警報(bào) 229
13.5 本章小結(jié) 232
第14章 服務(wù)的API文檔管理 233
14.1 Swagger 簡介 233
14.2 集成 Swagger 管理 API 文檔 234
14.2.1 項(xiàng)目中集成 Swagger 234
14.2.2 使用 Swagger 生成文檔 234
14.2.3 在線測試接口 235
14.3 Swagger 注解 236
14.4 Eureka 控制臺快速查看 Swagger 文檔 240
14.5 請求認(rèn)證 240
14.6 Zuul中聚合多個(gè)服務(wù)Swagger 241
14.7 本章小結(jié) 242
第四部分 高級篇
第15章 API 網(wǎng)關(guān)擴(kuò)展 244
15.1 用戶認(rèn)證 244
15.1.1 動態(tài)管理不需要攔截的 API 請求 244
15.1.2 創(chuàng)建認(rèn)證的用戶服務(wù) 246
15.1.3 路由之前的認(rèn)證 247
15.1.4 向下游微服務(wù)中傳遞認(rèn)證之后的用戶信息 248
15.1.5 內(nèi)部服務(wù)間的用戶信息傳遞 248
15.2 服務(wù)限流 250
15.2.1 限流算法 250
15.2.2 單節(jié)點(diǎn)限流 251
15.2.3 集群限流 255
15.2.4 具體服務(wù)限流 258
15.2.5 具體接口限流 258
15.3 服務(wù)降級 262
15.4 灰度發(fā)布 264
15.4.1 原理講解 264
15.4.2 根據(jù)用戶做灰度發(fā)布 265
15.4.3 根據(jù) IP 做灰度發(fā)布 268
15.5 本章小結(jié) 268
第16章 微服務(wù)之緩存 269
16.1 Guava Cache 本地緩存 269
16.1.1 Guava Cache 簡介 269
16.1.2 代碼示例 270
16.1.3 回收策略 270
16.2 Redis 緩存 271
16.2.1 用 Redistemplate 操作 Redis 271
16.2.2 用 Repository 操作 Redis 272
16.2.3 Spring Cache 緩存數(shù)據(jù) 274
16.2.4 緩存異常處理 278
16.2.5 自定義緩存工具類 279
16.3

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號