Spring Cloud開發(fā)實戰(zhàn)
定 價:95 元
- 作者:徐文聰
- 出版時間:2021/6/1
- ISBN:9787121411182
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP368.5
- 頁碼:324
- 紙張:
- 版次:01
- 開本:16開
本書是一本Spring Cloud開發(fā)的入門級教程圖書,也是一本著重于動手實戰(zhàn)的編程指導(dǎo)書。隨著這兩年Spring Cloud開發(fā)的日漸火熱,無論是對于編程工作者、編程講師或是編程愛好者與學(xué)生,掌握SpringCloud 開發(fā)技能都將為自己帶來極大的收獲。本書分15個章節(jié)對Spring Cloud的各種組件進行全面講解,并針對某個組件的替代產(chǎn)品進行針對性的比較。有Spring Cloud的注冊中心Eureka,Consul;網(wǎng)關(guān)組件Zuul和Gateway;異步消息隊列Kafka,配置中心config等。本書章節(jié)簡明扼要,務(wù)求用最簡潔的文字和代碼將整個Spring Cloud技術(shù)體系進行講解說明,讀者在閱讀的過程中也能收獲匪淺。
徐文聰目前在一線互聯(lián)網(wǎng)公司擔(dān)任后端開發(fā),承擔(dān)百萬日活的產(chǎn)品后端研發(fā)。對高并發(fā)和性能優(yōu)化方面有不少經(jīng)驗,對技術(shù)有極致的追求Github和Gitee活躍用戶。
目 錄
第1章 Spring Cloud微服務(wù)簡介 001
1.1 單體應(yīng)用架構(gòu) 001
1.1.1 單體應(yīng)用架構(gòu)簡介 001
1.1.2 單體應(yīng)用架構(gòu)的優(yōu)勢 001
1.1.3 單體應(yīng)用架構(gòu)的劣勢 002
1.2 微服務(wù)架構(gòu) 002
1.2.1 微服務(wù)架構(gòu)簡介 002
1.2.2 微服務(wù)的來源 002
1.2.3 微服務(wù)的優(yōu)點 002
1.2.4 微服務(wù)的缺點 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簡介 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 自動編譯開源 009
2.1.4 代碼提示設(shè)置 009
2.1.5 Tab多行顯示 009
2.1.6 去掉行尾空格 011
2.1.7 設(shè)置行號顯示 011
2.1.8 項目文件編碼 012
2.1.9 自動導(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 查看層級關(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 打開最近的項目 020
2.3.2 本地代碼歷史 021
2.3.3 展示類成員變量 022
2.3.4 內(nèi)存展示 023
2.3.5 查看項目結(jié)構(gòu) 024
2.3.6 多線程斷點調(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章 注冊中心 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ù)端啟動類 046
3.2.4 注冊中心啟動 046
3.3 Eureka常用配置 047
3.3.1 Eureka權(quán)限認(rèn)證 047
3.3.2 Eureka健康檢查 047
3.4 Consul注冊中心 048
3.4.1 Consul安裝和啟動 048
3.4.2 Consul服務(wù)端依賴 050
3.4.3 Consul服務(wù)端文件配置 050
3.4.4 Consul服務(wù)端啟動類 051
3.4.5 Consul客戶端文件配置 051
3.4.6 Consul客戶端業(yè)務(wù)邏輯 052
3.5 本章小結(jié) 054
第4章 Feign客戶端 055
4.1 Feign實例 055
4.1.1 Feign項目結(jié)構(gòu) 055
4.1.2 Feign客戶端依賴 055
4.1.3 Feign客戶端文件配置 057
4.1.4 Feign客戶端啟動類配置 058
4.1.5 Feign的配置方式 058
4.1.6 Spring兩種類型的bean對象 058
4.1.7 Feign客戶端接口定義 059
4.1.8 Feign服務(wù)端依賴 059
4.1.9 Feign服務(wù)端文件配置 060
4.1.10 Feign服務(wù)端啟動類 061
4.1.11 Feign服務(wù)端控制器 061
4.1.12 Feign項目啟動 062
4.2 Feign請求 062
4.2.1 Feign get請求 062
4.2.2 Feign post請求 063
4.2.3 Feign服務(wù)降級 064
4.3 Feign高級配置 064
4.3.1 Feign安全認(rèn)證配置 064
4.3.2 Feign超時配置 065
4.3.3 Feign日志配置 065
4.3.4 Feign核心類 066
4.4 Feign整合Zipkin 066
4.4.1 項目結(jié)構(gòu) 066
4.4.2 Zipkin服務(wù)端依賴 067
4.4.3 Zipkin客戶端依賴 069
4.4.4 Zipkin客戶端配置文件 069
4.5 Hystrix注冊中心 070
4.5.1 Hystrix原理 071
4.5.2 Hystrix項目結(jié)構(gòu) 071
4.5.3 Hystrix注冊中心依賴 071
4.5.4 Hystrix文件配置 072
4.5.5 Hystrix相關(guān)參數(shù)配置 072
4.5.6 Hystrix隔離策略 072
4.5.7 Eureka啟動 073
4.6 構(gòu)建Hystrix服務(wù)端 073
4.6.1 Hystrix服務(wù)端組件依賴 073
4.6.2 Hystrix文件配置 073
4.6.3 Hystrix啟動類 074
4.6.4 Eureka配置文件 074
4.7 構(gòu)建Hystrix客戶端 075
4.7.1 Hystrix客戶端依賴 075
4.7.2 Hystrix客戶端啟動配置 075
4.7.3 Hystrix增加控制類 076
4.7.4 Hystrix回退支持 077
4.8 本章小結(jié) 078
第5章 Ribbon負(fù)載均衡器 080
5.1 Ribbon注冊中心 080
5.1.1 Eureka實例 080
5.1.2 Ribbon服務(wù)端實例 082
5.1.3 Ribbon客戶端實例 084
5.1.4 Ribbon負(fù)載均衡 086
5.2 Ribbon常用配置 087
5.2.1 Ribbon注冊中心狀態(tài)設(shè)置 087
5.2.2 Ribbon注冊中心超時設(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 動態(tài)配置刷新 096
6.3 本章小結(jié) 097
第7章 第三方配置中心 098
7.1 Apollo簡介 098
7.1.1 Apollo的結(jié)構(gòu) 098
7.1.2 Apollo配置環(huán)境 100
7.1.3 Apollo數(shù)據(jù)庫配置 103
7.1.4 Apollo配置中心啟動 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啟動 114
7.3 Apollo集群 115
7.3.1 集群配置 115
7.3.2 管理員工具 116
7.3.3 Apollo實例 124
7.4 Nacos配置中心 125
7.4.1 Nacos的安裝 125
7.4.2 項目結(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簡介 132
7.5.2 使用場景 132
7.5.3 節(jié)點監(jiān)控 133
7.5.4 ZooKeeper領(lǐng)導(dǎo)者選舉 133
7.5.5 Watcher機制 134
7.5.6 ZooKeeper部署 135
7.5.7 zkui登錄頁面 137
7.5.8 ZooKeeper實例 139
7.6 本章小結(jié) 142
第8章 Zuul網(wǎng)關(guān) 143
8.1 Zuul基礎(chǔ)實例 143
8.1.1 Zuul的作用 143
8.1.2 Zuul依賴 144
8.1.3 Zuul文件配置 144
8.1.4 啟動類配置 144
8.2 Zuul實例 145
8.2.1 創(chuàng)建Eureka注冊中心 145
8.2.2 Eureka客戶端依賴 146
8.2.3 Eureka客戶端文件配置 146
8.3 Zuul高級特性 148
8.3.1 路由前綴 148
8.3.2 本地跳轉(zhuǎn) 149
8.3.3 過濾器實現(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ù)降級處理 158
8.3.9 全局限流配置 158
8.3.10 局部限流配置 158
8.4 本章小結(jié) 159
第9章 Gateway網(wǎng)關(guān) 160
9.1 Gateway簡介 160
9.1.1 Gateway的組成 160
9.1.2 Gateway實例 161
9.1.3 Gateway轉(zhuǎn)發(fā)規(guī)則 162
9.2 本章小結(jié) 165
第10章 Admin管理中心 166
10.1 Admin實例 166
10.1.1 Admin服務(wù)端 166
10.1.2 Admin客戶端 167
10.1.3 創(chuàng)建Eureka項目 170
10.1.4 查看服務(wù)日志 171
10.2 Admin高級特性 171
10.2.1 集成Hystrix UI展示 171
10.2.2 Admin安全配置 172
10.2.3 攔截監(jiā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實例構(gòu)建 179
11.1.1 Swagger響應(yīng) 179
11.1.2 Springfox-Swagger簡介 180
11.1.3 Swagger相關(guān)依賴 180
11.1.4 Swagger文件配置 180
11.1.5 Swagger啟動 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實例 186
11.3.1 項目結(jié)構(gòu) 186
11.3.2 項目配置文件 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 啟動應(yīng)用 194
11.3.9 請求認(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ù)庫 203
12.1 MongoDB簡介 203
12.1.1 MongoDB的結(jié)構(gòu) 203
12.1.2 MongoDB的特點 204
12.1.3 應(yīng)用場景 204
12.1.4 可視化客戶端 205
12.1.5 下載和安裝 206
12.2 MongoDB實例 208
12.2.1 MongoDB依賴 208
12.2.2 MongoDB創(chuàng)建數(shù)據(jù)庫 209
12.2.3 創(chuàng)建實體 213
12.2.4 用戶方法 221
12.2.5 訂單方法 222
12.2.6 支付方法 224
12.2.7 商品方法 225
12.3 MongoDB高級特性 227
12.3.1 MongoDB存儲引擎 227
12.3.2 WiredTiger引擎 227
12.3.3 In-Memory引擎 228
12.3.4 不同存儲引擎的區(qū)別 229
12.3.5 寫安全機制 229
12.3.6 事務(wù)管理 230
12.3.7 數(shù)據(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的安裝和啟動 235
13.1.2 Redis可視化客戶端 237
13.2 Redis實例 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緩存時間 246
13.2.8 Redis緩存過期時間設(shè)置 248
13.2.9 Redis獲取緩存時間 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在指定時間過期 255
13.2.16 模糊匹配刪除key 256
13.2.17 持久化key 257
13.2.18 哈希存儲 259
13.2.19 讀取哈希值 260
13.2.20 刪除哈希值 260
13.3 Redis高級特性 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鎖機制 267
13.3.11 Redis單線程 267
13.3.12 Redis常見注解 268
13.3.13 Redis集群模式 269
13.3.14 持久化機制 270
13.3.15 Redis危險命令 271
13.4 緩存異常情況 271
13.4.1 緩存雪崩 271
13.4.2 緩存穿透 272
13.4.3 緩存擊穿 272
13.5 本章小結(jié) 273
?
第14章 異步消息隊列Kafka 274
14.1 Kafka基本介紹 274
14.1.1 Kafka的定義和組件 274
14.1.2 Kafka消息協(xié)議 275
14.1.3 Kafka的優(yōu)點 275
14.1.4 Kafka環(huán)境部署 276
14.1.5 Kafka可視化工具 277
14.2 Kafka實例 280
14.2.1 Kafka依賴 280
14.2.2 Kafka消息消費者 281
14.2.3 Kafka消息生產(chǎn)者 282
14.2.4 消息體構(gòu)造 283
14.3 Kafka高級機制 283
14.3.1 Kafka分區(qū)機制 283
14.3.2 Kafka流式處理 284
14.3.3 Kafka副本和備份 285
14.3.4 消息持久化 285
14.3.5 數(shù)據(jù)存儲 287
14.3.6 Kafka消費模型 287
14.3.7 Kafka日志配置 287
14.3.8 Kafka負(fù)載均衡 289
14.3.9 Kafka單元測試 290
14.4 Kafka常見問題 291
14.4.1 消息可靠性 291
14.4.2 Kafka消息丟失的問題 291
14.4.3 順序消費 292
14.4.4 重復(fù)消費 293
14.5 Bus整合Kafka 293
14.5.1 Bus架構(gòu) 293
14.5.2 項目結(jié)構(gòu) 294
14.5.3 Bus和Kafka 295
14.5.4 項目啟動 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啟動 305
14.7 本章小結(jié) 306