Spring Cloud 開發實戰

Spring Cloud 開發實戰

作者: 徐文聰
出版社: 電子工業
出版在: 2021-06-01
ISBN-13: 9787121411182
ISBN-10: 7121411180
裝訂格式: 平裝
總頁數: 324 頁





內容描述


本書是一本Spring Cloud開發的入門級教程圖書,也是一本著重於動手實戰的編程指導書。隨著這兩年Spring Cloud開發的日漸火熱,無論是對於編程工作者、編程講師或是編程愛好者與學生,掌握SpringCloud 開發技能都將為自己帶來極大的收獲。本書分15個章節對Spring Cloud的各種組件進行全面講解,並針對某個組件的替代產品進行針對性的比較。有Spring Cloud的註冊中心Eureka,Consul;網關組件Zuul和Gateway;異步消息隊列Kafka,配置中心config等。本書章節簡明扼要,務求用最簡潔的文字和代碼將整個Spring Cloud技術體系進行講解說明,讀者在閱讀的過程中也能收獲匪淺。


目錄大綱


第1章Spring Cloud微服務簡介001
1.1單體應用架構001
1.1.1單體應用架構簡介001
1.1.2單體應用架構的優勢001
1.1.3單體應用架構的劣勢002
1.2微服務架構002
1.2.1微服務架構簡介002
1.2.2微服務的來源002
1.2.3微服務的優點002
1.2.4微服務的缺點003
1.2.5微服務架構的選擇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的關係006
1.4本章小結006
第2章微服務開發工具007
2.1 IDEA基本配置007
2.1.1 IDEA的安裝007
2.1.2字體設置007
2.1.3自動編譯開源009
2.1.4代碼提示設置009
2.1.5 Tab多行顯示009
2.1.6去掉行尾空格011
2.1.7設置行號顯示011
2.1.8項目文件編碼012
2.1.9自動導入包013
2.2 IDEA快捷鍵013
2.2.1快捷鍵函數收尾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查看層級關係017
2.2.9展開成員變量017
2.2.10方法參數類型提示018
2.2.11查看方法調用018
2 .2.12同詞編輯019
2.3代碼相關技巧020
2.3.1打開最近的項目020
2.3.2本地代碼歷史021
2.3.3展示類成員變量022
2.3.4內存展示023
2.3.5查看項目結構024
2.3.6多線程斷點調試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阿里巴巴規範插件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字符串標記JSON 040
2.6本章小結041
第3章註冊中心042
3.1 Eureka客戶端042
3.1.1 Eureka客戶端依賴042
3.1.2 Eureka客戶端文件配置043
3.2 Eureka服務端044
3.2.1 Eureka服務端組件依賴044
3.2.2 Eureka服務端文件配置045
3.2.3 Eureka服務端啟動類046
3.2.4註冊中心啟動046
3 .3 Eureka常用配置047
3.3.1 Eureka權限認證047
3.3.2 Eureka健康檢查047
3.4 Consul註冊中心048
3.4.1 Consul安裝和啟動048
3.4.2 Consul服務端依賴050
3.4.3 Consul服務端文件配置050
3.4.4 Consul服務端啟動類051
3 .4.5 Consul客戶端文件配置051
3.4.6 Consul客戶端業務邏輯052
3.5本章小結054
第4章Feign客戶端055
4.1 Feign實例055
4.1.1 Feign項目結構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服務端依賴059
4.1.9 Feign服務端文件配置060
4.1.10 Feign服務端啟動類061
4. 1.11 Feign服務端控制器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服務降級064
4.3 Feign高級配置064
4.3.1 Feign安全認證配置064
4.3.2 Feign超時配置065
4.3.3 Feign日誌配置065
4.3.4 Feign核心類066
4.4 Feign整合Zipkin 066
4.4.1項目結構066
4.4.2 Zipkin服務端依賴067
4.4.3 Zipkin客戶端依賴069
4.4 .4 Zipkin客戶端配置文件069
4.5 Hystrix註冊中心070
4.5.1 Hystrix原理071
4.5.2 Hystrix項目結構071
4.5.3 Hystrix註冊中心依賴071
4.5.4 Hystrix文件配置072
4.5.5 Hystrix相關參數配置072
4.5.6 Hystrix隔離策略072
4.5.7 Eureka啟動073
4.6構建Hystrix服務端073
4.6.1 Hystrix服務端組件依賴073
4.6 .2 Hystrix文件配置073
4.6.3 Hystrix啟動類074
4.6.4 Eureka配置文件074
4.7構建Hystrix客戶端075
4.7.1 Hystrix客戶端依賴075
4.7.2 Hystrix客戶端啟動配置075
4.7.3 Hystrix增加控制類076
4.7.4 Hystrix回退支持077
4 .8本章小結078
第5章Ribbon負載均衡器080
5.1 Ribbon註冊中心080
5.1.1 Eureka實例080
5.1.2 Ribbon服務端實例082
5.1.3 Ribbon客戶端實例084
5. 1.4 Ribbon負載均衡086
5.2 Ribbon常用配置087
5.2.1 Ribbon註冊中心狀態設置087
5.2.2 Ribbon註冊中心超時設置087
5.2.3 Ribbon路由配置088
5.3本章小結090
第6章Config配置中心091
6.1 Config服務端091
6.2 Config客戶端093
6.2.1 Config客戶端依賴093
6.2.2 Config客戶端文件配置095
6.2.3動態配置刷新096
6.3本章小結097
第7章第三方配置中心098
7.1 Apollo簡介098
7.1.1 Apollo的結構098
7.1.2 Apollo配置環境100
7.1.3 Apollo數據庫配置103
7.1.4 Apollo配置中心啟動107
7.2 Apollo配置中心112
7.2.1 Apollo創建配置112
7.2.2 Apollo新增配置112
7.2.3 Apollo發布配置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項目結構127
7.4.3 Nacos服務端依賴127
7.4.4 Nacos服務端128
7.4.5 Nacos配置管理131
7.5 ZooKeeper配置中心132
7.5.1 ZooKeeper簡介132
7.5.2使用場景132
7.5.3節點監控133
7.5.4 ZooKeeper領導者選舉133
7.5.5 Watcher機制134
7.5.6 ZooKeeper部署135
7.5.7 zkui登錄頁面137
7.5.8 ZooKeeper實例139
7.6本章小結142
第8章Zuul網關143
8.1 Zuul基礎實例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創建Eureka註冊中心145
8.2.2 Eureka客戶端依賴146
8.2 .3 Eureka客戶端文件配置146
8.3 Zuul高級特性148
8.3.1路由前綴148
8.3.2本地跳轉149
8.3.3過濾器實現種類149
8.3.4入口規則配置154
8.3.5 Zuul過濾器生命週期155
8.3.6 Zuul過濾器禁用156
8.3.7 Zuul過濾器的數據傳遞156
8.3.8服務降級處理158
8.3.9全局限流配置158
8.3.10局部限流配置158
8.4本章小結159
第9章Gateway網關160
9.1 Gateway簡介160
9.1.1 Gateway的組成160
9.1.2 Gateway實例161
9.1.3 Gateway轉發規則162
9.2本章小結165
第10章Admin管理中心166
10.1 Admin實例166
10.1.1 Admin服務端166
10.1.2 Admin客戶端167
10.1.3創建Eureka項目170
10.1.4查看服務日誌171
10.2 Admin高級特性171
10.2.1集成Hystrix UI展示171
10. 2.2 Admin安全配置172
10.2.3攔截監控端點處理175
10.2.4 Session監控175
10.2.5展示客戶端JMX信息176
10.2.6監控客戶端配置176
10.2. 7服務端集成Hystrix UI展示177
10.2.8監控告警服務177
10.3本章小結178
第11章文檔管理工具179
11.1 Swagger實例構建179
11.1.1 Swagger響應179
11.1.2 Springfox-Swagger簡介180
11.1.3 Swagger相關依賴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參數註解184
11.2.5 @ApiResponse和@ApiResponses響應註解185
11.2.6 @ApiModel參數註解185
11.2.7 @ApiModelProperty字段註解186
11.3 Swagger實例186
11.3.1項目結構186
11.3.2項目配置文件187
11.3.3權限模塊187
11.3.4用戶模塊189
11.3.5訂單模塊191
11.3.6支付模塊192
11.3.7商城模塊193
11.3.8啟動應用194
11.3.9請求認證195
11.4 Postman使用方式195
11.4.1 Postman基本使用方法195
11.4.2 Postman主頁196
11.4.3創建新的接口196
11.4.4接口集合198
11.5本章小結202
第12章MongoDB數據庫203
12.1 MongoDB簡介203
12.1.1 MongoDB的結構203
12.1.2 MongoDB的特點204
12.1.3應用場景204
12.1.4可視化客戶端205
12.1.5下載和安裝206
12.2 MongoDB實例208
12.2.1 MongoDB依賴208
12.2.2 MongoDB創建數據庫209
12.2.3創建實體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不同存儲引擎的區別229
12.3.5寫安全機制229
12.3.6事務管理230
12.3.7數據回滾機制231
12.3.8 MongoDB數據備份231
12.3.9 MongoDB內存釋放232
12.3.10 MongoDB複製集232
12.3.11 MongoDB元數據232
12.3.12 MongoDB分片232
12.4本章小結234
第13章Redis緩存235
13. 1 Redis的基礎用法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設置key值242
13.2.5 Redis獲取key值244
13.2.6 Redis緩存值244
13.2.7 Redis緩存時間246
13 .2.8 Redis緩存過期時間設置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根據key獲取set集合252
13.2.14 Redis整合緩存方法253
13.2.15設置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內部結構263
13.3.2最大緩存配置263
13.3.3 Redis容量估算263
13.3.4 Redis數據淘汰策略264
13.3.5 Redis緩存算法264
13.3.6 Redis事務265
13.3.7分區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本章小結273
第14章異步消息隊列Kafka 274
14.1 Kafka基本介紹274
14.1.1 Kafka的定義和組件274
14.1.2 Kafka消息協議275
14.1.3 Kafka的優點275
14.1.4 Kafka環境部署276
14.1.5 Kafka可視化工具277
14.2 Kafka實例280
14.2.1 Kafka依賴280
14.2.2 Kafka消息消費者281
14.2.3 Kafka消息生產者282
14.2.4消息體構造283
14.3 Kafka高級機制283
14.3.1 Kafka分區機制283
14.3.2 Kafka流式處理284
14.3.3 Kafka副本和備份285
14. 3.4消息持久化285
14.3.5數據存儲287
14.3.6 Kafka消費模型287
14.3.7 Kafka日誌配置287
14.3.8 Kafka負載均衡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重複消費293
14.5 Bus整合Kafka 293
14.5.1 Bus架構293
14.5.2項目結構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服務端文件配置303
14.6.3 Bus啟動305
14.7本章小結306


作者介紹


徐文聰目前在一線互聯網公司擔任後端開發,承擔百萬日活的產品後端研發。對高並發和性能優化方面有不少經驗,對技術有極致的追求Github和Gitee活躍用戶。




相關書籍

Java 5.0 Tiger 程式高手秘笈 (Java 5.0 Tiger: A Developer's Notebook)

作者 David Flanagan Brett McLaughlin 楊尊一 譯

2021-06-01

Java Web 入門很輕松 (微課超值版)

作者 雲尚科技

2021-06-01

Python 接班人出世:最新科學專用語言 Julia 入門實戰

作者 周俊慶 張瑞麗

2021-06-01