Spring Cloud開發(fā)實(shí)戰(zhàn)
定 價(jià):95 元
- 作者:徐文聰
- 出版時(shí)間:2021/6/1
- ISBN:9787121411182
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP368.5
- 頁碼:324
- 紙張:
- 版次:01
- 開本:16開
本書是一本Spring Cloud開發(fā)的入門級(jí)教程圖書,也是一本著重于動(dòng)手實(shí)戰(zhàn)的編程指導(dǎo)書。隨著這兩年Spring Cloud開發(fā)的日漸火熱,無論是對(duì)于編程工作者、編程講師或是編程愛好者與學(xué)生,掌握SpringCloud 開發(fā)技能都將為自己帶來極大的收獲。本書分15個(gè)章節(jié)對(duì)Spring Cloud的各種組件進(jìn)行全面講解,并針對(duì)某個(gè)組件的替代產(chǎn)品進(jìn)行針對(duì)性的比較。有Spring Cloud的注冊(cè)中心Eureka,Consul;網(wǎng)關(guān)組件Zuul和Gateway;異步消息隊(duì)列Kafka,配置中心config等。本書章節(jié)簡(jiǎn)明扼要,務(wù)求用最簡(jiǎn)潔的文字和代碼將整個(gè)Spring Cloud技術(shù)體系進(jìn)行講解說明,讀者在閱讀的過程中也能收獲匪淺。
徐文聰目前在一線互聯(lián)網(wǎng)公司擔(dān)任后端開發(fā),承擔(dān)百萬日活的產(chǎn)品后端研發(fā)。對(duì)高并發(fā)和性能優(yōu)化方面有不少經(jīng)驗(yàn),對(duì)技術(shù)有極致的追求Github和Gitee活躍用戶。
目 錄
第1章 Spring Cloud微服務(wù)簡(jiǎn)介 001
1.1 單體應(yīng)用架構(gòu) 001
1.1.1 單體應(yīng)用架構(gòu)簡(jiǎn)介 001
1.1.2 單體應(yīng)用架構(gòu)的優(yōu)勢(shì) 001
1.1.3 單體應(yīng)用架構(gòu)的劣勢(shì) 002
1.2 微服務(wù)架構(gòu) 002
1.2.1 微服務(wù)架構(gòu)簡(jiǎn)介 002
1.2.2 微服務(wù)的來源 002
1.2.3 微服務(wù)的優(yōu)點(diǎn) 002
1.2.4 微服務(wù)的缺點(diǎn) 003
1.2.5 微服務(wù)架構(gòu)的選擇 003
1.3 Spring Cloud介紹 004
1.3.1 Spring Cloud的概念 004
1.3.2 Spring Cloud的組件 005
1.3.3 Spring Cloud版本介紹 005
1.3.4 Spring Boot簡(jiǎn)介 005
1.3.5 Spring Boot和Spring Cloud的關(guān)系 006
1.4 本章小結(jié) 006
第2章 微服務(wù)開發(fā)工具 007
2.1 IDEA基本配置 007
2.1.1 IDEA的安裝 007
2.1.2 字體設(shè)置 007
2.1.3 自動(dòng)編譯開源 009
2.1.4 代碼提示設(shè)置 009
2.1.5 Tab多行顯示 009
2.1.6 去掉行尾空格 011
2.1.7 設(shè)置行號(hào)顯示 011
2.1.8 項(xiàng)目文件編碼 012
2.1.9 自動(dòng)導(dǎo)入包 013
2.2 IDEA快捷鍵 013
2.2.1 快捷鍵函數(shù)收尾 014
2.2.2 去掉無效引用 014
2.2.3 打開最近使用的文件 015
2.2.4 快速搜索文件 015
2.2.5 快速查找方法 016
2.2.6 快速搜索目錄 016
2.2.7 快速切換編輯框 016
2.2.8 查看層級(jí)關(guān)系 017
2.2.9 展開成員變量 017
2.2.10 方法參數(shù)類型提示 018
2.2.11 查看方法調(diào)用 018
2.2.12 同詞編輯 019
2.3 代碼相關(guān)技巧 020
2.3.1 打開最近的項(xiàng)目 020
2.3.2 本地代碼歷史 021
2.3.3 展示類成員變量 022
2.3.4 內(nèi)存展示 023
2.3.5 查看項(xiàng)目結(jié)構(gòu) 024
2.3.6 多線程斷點(diǎn)調(diào)試 025
2.3.7 同步顯示類 026
2.4 IDEA代碼模板配置 027
2.4.1 代碼模板定制 027
2.4.2 注釋生成 027
2.4.3 生成Java類模板 028
2.5 IDEA插件介紹 031
2.5.1 阿里巴巴規(guī)范插件 031
2.5.2 stackoverflow搜索插件 031
2.5.3 Maven Helper 032
2.5.4 POJO to JSON插件 033
2.5.5 GsonFormat插件 034
2.5.6 Grep Console日志查詢工具 036
2.5.7 Redis可視化工具 037
2.5.8 代碼高亮工具 038
2.5.9 翻譯插件 039
2.5.10 字符串標(biāo)記JSON 040
2.6 本章小結(jié) 041
第3章 注冊(cè)中心 042
3.1 Eureka客戶端 042
3.1.1 Eureka客戶端依賴 042
3.1.2 Eureka客戶端文件配置 043
3.2 Eureka服務(wù)端 044
3.2.1 Eureka服務(wù)端組件依賴 044
3.2.2 Eureka服務(wù)端文件配置 045
3.2.3 Eureka服務(wù)端啟動(dòng)類 046
3.2.4 注冊(cè)中心啟動(dòng) 046
3.3 Eureka常用配置 047
3.3.1 Eureka權(quán)限認(rèn)證 047
3.3.2 Eureka健康檢查 047
3.4 Consul注冊(cè)中心 048
3.4.1 Consul安裝和啟動(dòng) 048
3.4.2 Consul服務(wù)端依賴 050
3.4.3 Consul服務(wù)端文件配置 050
3.4.4 Consul服務(wù)端啟動(dòng)類 051
3.4.5 Consul客戶端文件配置 051
3.4.6 Consul客戶端業(yè)務(wù)邏輯 052
3.5 本章小結(jié) 054
第4章 Feign客戶端 055
4.1 Feign實(shí)例 055
4.1.1 Feign項(xiàng)目結(jié)構(gòu) 055
4.1.2 Feign客戶端依賴 055
4.1.3 Feign客戶端文件配置 057
4.1.4 Feign客戶端啟動(dòng)類配置 058
4.1.5 Feign的配置方式 058
4.1.6 Spring兩種類型的bean對(duì)象 058
4.1.7 Feign客戶端接口定義 059
4.1.8 Feign服務(wù)端依賴 059
4.1.9 Feign服務(wù)端文件配置 060
4.1.10 Feign服務(wù)端啟動(dòng)類 061
4.1.11 Feign服務(wù)端控制器 061
4.1.12 Feign項(xiàng)目啟動(dòng) 062
4.2 Feign請(qǐng)求 062
4.2.1 Feign get請(qǐng)求 062
4.2.2 Feign post請(qǐng)求 063
4.2.3 Feign服務(wù)降級(jí) 064
4.3 Feign高級(jí)配置 064
4.3.1 Feign安全認(rèn)證配置 064
4.3.2 Feign超時(shí)配置 065
4.3.3 Feign日志配置 065
4.3.4 Feign核心類 066
4.4 Feign整合Zipkin 066
4.4.1 項(xiàng)目結(jié)構(gòu) 066
4.4.2 Zipkin服務(wù)端依賴 067
4.4.3 Zipkin客戶端依賴 069
4.4.4 Zipkin客戶端配置文件 069
4.5 Hystrix注冊(cè)中心 070
4.5.1 Hystrix原理 071
4.5.2 Hystrix項(xiàng)目結(jié)構(gòu) 071
4.5.3 Hystrix注冊(cè)中心依賴 071
4.5.4 Hystrix文件配置 072
4.5.5 Hystrix相關(guān)參數(shù)配置 072
4.5.6 Hystrix隔離策略 072
4.5.7 Eureka啟動(dòng) 073
4.6 構(gòu)建Hystrix服務(wù)端 073
4.6.1 Hystrix服務(wù)端組件依賴 073
4.6.2 Hystrix文件配置 073
4.6.3 Hystrix啟動(dòng)類 074
4.6.4 Eureka配置文件 074
4.7 構(gòu)建Hystrix客戶端 075
4.7.1 Hystrix客戶端依賴 075
4.7.2 Hystrix客戶端啟動(dòng)配置 075
4.7.3 Hystrix增加控制類 076
4.7.4 Hystrix回退支持 077
4.8 本章小結(jié) 078
第5章 Ribbon負(fù)載均衡器 080
5.1 Ribbon注冊(cè)中心 080
5.1.1 Eureka實(shí)例 080
5.1.2 Ribbon服務(wù)端實(shí)例 082
5.1.3 Ribbon客戶端實(shí)例 084
5.1.4 Ribbon負(fù)載均衡 086
5.2 Ribbon常用配置 087
5.2.1 Ribbon注冊(cè)中心狀態(tài)設(shè)置 087
5.2.2 Ribbon注冊(cè)中心超時(shí)設(shè)置 087
5.2.3 Ribbon路由配置 088
5.3 本章小結(jié) 090
第6章 Config配置中心 091
6.1 Config服務(wù)端 091
6.2 Config客戶端 093
6.2.1 Config客戶端依賴 093
6.2.2 Config客戶端文件配置 095
6.2.3 動(dòng)態(tài)配置刷新 096
6.3 本章小結(jié) 097
第7章 第三方配置中心 098
7.1 Apollo簡(jiǎn)介 098
7.1.1 Apollo的結(jié)構(gòu) 098
7.1.2 Apollo配置環(huán)境 100
7.1.3 Apollo數(shù)據(jù)庫(kù)配置 103
7.1.4 Apollo配置中心啟動(dòng) 107
7.2 Apollo配置中心 112
7.2.1 Apollo創(chuàng)建配置 112
7.2.2 Apollo新增配置 112
7.2.3 Apollo發(fā)布配置 113
7.2.4 Apollo啟動(dòng) 114
7.3 Apollo集群 115
7.3.1 集群配置 115
7.3.2 管理員工具 116
7.3.3 Apollo實(shí)例 124
7.4 Nacos配置中心 125
7.4.1 Nacos的安裝 125
7.4.2 項(xiàng)目結(jié)構(gòu) 127
7.4.3 Nacos服務(wù)端依賴 127
7.4.4 Nacos服務(wù)端 128
7.4.5 Nacos配置管理 131
7.5 ZooKeeper配置中心 132
7.5.1 ZooKeeper簡(jiǎn)介 132
7.5.2 使用場(chǎng)景 132
7.5.3 節(jié)點(diǎn)監(jiān)控 133
7.5.4 ZooKeeper領(lǐng)導(dǎo)者選舉 133
7.5.5 Watcher機(jī)制 134
7.5.6 ZooKeeper部署 135
7.5.7 zkui登錄頁面 137
7.5.8 ZooKeeper實(shí)例 139
7.6 本章小結(jié) 142
第8章 Zuul網(wǎng)關(guān) 143
8.1 Zuul基礎(chǔ)實(shí)例 143
8.1.1 Zuul的作用 143
8.1.2 Zuul依賴 144
8.1.3 Zuul文件配置 144
8.1.4 啟動(dòng)類配置 144
8.2 Zuul實(shí)例 145
8.2.1 創(chuàng)建Eureka注冊(cè)中心 145
8.2.2 Eureka客戶端依賴 146
8.2.3 Eureka客戶端文件配置 146
8.3 Zuul高級(jí)特性 148
8.3.1 路由前綴 148
8.3.2 本地跳轉(zhuǎn) 149
8.3.3 過濾器實(shí)現(xiàn)種類 149
8.3.4 入口規(guī)則配置 154
8.3.5 Zuul過濾器生命周期 155
8.3.6 Zuul過濾器禁用 156
8.3.7 Zuul過濾器的數(shù)據(jù)傳遞 156
8.3.8 服務(wù)降級(jí)處理 158
8.3.9 全局限流配置 158
8.3.10 局部限流配置 158
8.4 本章小結(jié) 159
第9章 Gateway網(wǎng)關(guān) 160
9.1 Gateway簡(jiǎn)介 160
9.1.1 Gateway的組成 160
9.1.2 Gateway實(shí)例 161
9.1.3 Gateway轉(zhuǎn)發(fā)規(guī)則 162
9.2 本章小結(jié) 165
第10章 Admin管理中心 166
10.1 Admin實(shí)例 166
10.1.1 Admin服務(wù)端 166
10.1.2 Admin客戶端 167
10.1.3 創(chuàng)建Eureka項(xiàng)目 170
10.1.4 查看服務(wù)日志 171
10.2 Admin高級(jí)特性 171
10.2.1 集成Hystrix UI展示 171
10.2.2 Admin安全配置 172
10.2.3 攔截監(jiān)控端點(diǎn)處理 175
10.2.4 Session監(jiān)控 175
10.2.5 展示客戶端JMX信息 176
10.2.6 監(jiān)控客戶端配置 176
10.2.7 服務(wù)端集成Hystrix UI展示 177
10.2.8 監(jiān)控告警服務(wù) 177
10.3 本章小結(jié) 178
第11章 文檔管理工具 179
11.1 Swagger實(shí)例構(gòu)建 179
11.1.1 Swagger響應(yīng) 179
11.1.2 Springfox-Swagger簡(jiǎn)介 180
11.1.3 Swagger相關(guān)依賴 180
11.1.4 Swagger文件配置 180
11.1.5 Swagger啟動(dòng) 181
11.2 Swagger注解 182
11.2.1 @Api接口注解 182
11.2.2 @ApiIgnore隱藏接口 183
11.2.3 @ApiOperation方法注解 183
11.2.4 @ApiImplicitParam參數(shù)注解 184
11.2.5 @ApiResponse和@ApiResponses響應(yīng)注解 185
11.2.6 @ApiModel參數(shù)注解 185
11.2.7 @ApiModelProperty字段注解 186
11.3 Swagger實(shí)例 186
11.3.1 項(xiàng)目結(jié)構(gòu) 186
11.3.2 項(xiàng)目配置文件 187
11.3.3 權(quán)限模塊 187
11.3.4 用戶模塊 189
11.3.5 訂單模塊 191
11.3.6 支付模塊 192
11.3.7 商城模塊 193
11.3.8 啟動(dòng)應(yīng)用 194
11.3.9 請(qǐng)求認(rèn)證 195
11.4 Postman使用方式 195
11.4.1 Postman基本使用方法 195
11.4.2 Postman主頁 196
11.4.3 創(chuàng)建新的接口 196
11.4.4 接口集合 198
11.5 本章小結(jié) 202
第12章 MongoDB數(shù)據(jù)庫(kù) 203
12.1 MongoDB簡(jiǎn)介 203
12.1.1 MongoDB的結(jié)構(gòu) 203
12.1.2 MongoDB的特點(diǎn) 204
12.1.3 應(yīng)用場(chǎng)景 204
12.1.4 可視化客戶端 205
12.1.5 下載和安裝 206
12.2 MongoDB實(shí)例 208
12.2.1 MongoDB依賴 208
12.2.2 MongoDB創(chuàng)建數(shù)據(jù)庫(kù) 209
12.2.3 創(chuàng)建實(shí)體 213
12.2.4 用戶方法 221
12.2.5 訂單方法 222
12.2.6 支付方法 224
12.2.7 商品方法 225
12.3 MongoDB高級(jí)特性 227
12.3.1 MongoDB存儲(chǔ)引擎 227
12.3.2 WiredTiger引擎 227
12.3.3 In-Memory引擎 228
12.3.4 不同存儲(chǔ)引擎的區(qū)別 229
12.3.5 寫安全機(jī)制 229
12.3.6 事務(wù)管理 230
12.3.7 數(shù)據(jù)回滾機(jī)制 231
12.3.8 MongoDB數(shù)據(jù)備份 231
12.3.9 MongoDB內(nèi)存釋放 232
12.3.10 MongoDB復(fù)制集 232
12.3.11 MongoDB元數(shù)據(jù) 232
12.3.12 MongoDB分片 232
12.4 本章小結(jié) 234
第13章 Redis緩存 235
13.1 Redis的基礎(chǔ)用法 235
13.1.1 Redis的安裝和啟動(dòng) 235
13.1.2 Redis可視化客戶端 237
13.2 Redis實(shí)例 239
13.2.1 Redis組件 240
13.2.2 Redis信息配置 240
13.2.3 Redis key值存在判斷 242
13.2.4 Redis設(shè)置key值 242
13.2.5 Redis獲取key值 244
13.2.6 Redis緩存值 244
13.2.7 Redis緩存時(shí)間 246
13.2.8 Redis緩存過期時(shí)間設(shè)置 248
13.2.9 Redis獲取緩存時(shí)間 249
13.2.10 Redis緩存刪除 249
13.2.11 Redis緩存集合添加 250
13.2.12 Redis緩存集合查詢 251
13.2.13 Redis根據(jù)key獲取set集合 252
13.2.14 Redis整合緩存方法 253
13.2.15 設(shè)置key在指定時(shí)間過期 255
13.2.16 模糊匹配刪除key 256
13.2.17 持久化key 257
13.2.18 哈希存儲(chǔ) 259
13.2.19 讀取哈希值 260
13.2.20 刪除哈希值 260
13.3 Redis高級(jí)特性 263
13.3.1 Redis內(nèi)部結(jié)構(gòu) 263
13.3.2 最大緩存配置 263
13.3.3 Redis容量估算 263
13.3.4 Redis數(shù)據(jù)淘汰策略 264
13.3.5 Redis緩存算法 264
13.3.6 Redis事務(wù) 265
13.3.7 分區(qū) 265
13.3.8 Redis的序列化 266
13.3.9 Redis過期鍵刪除策略 266
13.3.10 Redis鎖機(jī)制 267
13.3.11 Redis單線程 267
13.3.12 Redis常見注解 268
13.3.13 Redis集群模式 269
13.3.14 持久化機(jī)制 270
13.3.15 Redis危險(xiǎn)命令 271
13.4 緩存異常情況 271
13.4.1 緩存雪崩 271
13.4.2 緩存穿透 272
13.4.3 緩存擊穿 272
13.5 本章小結(jié) 273
?
第14章 異步消息隊(duì)列Kafka 274
14.1 Kafka基本介紹 274
14.1.1 Kafka的定義和組件 274
14.1.2 Kafka消息協(xié)議 275
14.1.3 Kafka的優(yōu)點(diǎn) 275
14.1.4 Kafka環(huán)境部署 276
14.1.5 Kafka可視化工具 277
14.2 Kafka實(shí)例 280
14.2.1 Kafka依賴 280
14.2.2 Kafka消息消費(fèi)者 281
14.2.3 Kafka消息生產(chǎn)者 282
14.2.4 消息體構(gòu)造 283
14.3 Kafka高級(jí)機(jī)制 283
14.3.1 Kafka分區(qū)機(jī)制 283
14.3.2 Kafka流式處理 284
14.3.3 Kafka副本和備份 285
14.3.4 消息持久化 285
14.3.5 數(shù)據(jù)存儲(chǔ) 287
14.3.6 Kafka消費(fèi)模型 287
14.3.7 Kafka日志配置 287
14.3.8 Kafka負(fù)載均衡 289
14.3.9 Kafka單元測(cè)試 290
14.4 Kafka常見問題 291
14.4.1 消息可靠性 291
14.4.2 Kafka消息丟失的問題 291
14.4.3 順序消費(fèi) 292
14.4.4 重復(fù)消費(fèi) 293
14.5 Bus整合Kafka 293
14.5.1 Bus架構(gòu) 293
14.5.2 項(xiàng)目結(jié)構(gòu) 294
14.5.3 Bus和Kafka 295
14.5.4 項(xiàng)目啟動(dòng) 297
14.5.5 指定刷新范圍 300
?
14.6 Bus整合RabbitMQ 300
14.6.1 Erlang安裝 300
14.6.2 Bus服務(wù)端文件配置 303
14.6.3 Bus啟動(dòng) 305
14.7 本章小結(jié) 306