微服務分散式架構基礎與實戰——基於SpringBoot+SpringCloud

微服務分散式架構基礎與實戰——基於SpringBoot+SpringCloud

《微服務分散式架構基礎與實戰——基於SpringBoot+SpringCloud》是2020年3月電子工業出版社出版的圖書,作者是張方興。

基本介紹

  • 書名:微服務分散式架構基礎與實戰——基於SpringBoot+SpringCloud
  • 作者張方興
  • 出版社:電子工業出版社
  • 出版時間:2020年3月
  • 頁數:272 頁
  • 開本:16 開
  • ISBN:9787121384134
  • 字數:436千字
  • 版次:01-01
內容簡介,圖書目錄,

內容簡介

微服務分散式架構的內容更新疊代速度極快,2018年6月開始就有許多微服務分散式的數據,但是到2019年已經跟不上Spring Cloud的版本了,過去大多數數據Spring Cloud都用Eureka作為註冊中心,而Spring 官方已經在Spring Cloud Eureka 2.0以後宣布停止了Spring Cloud Eureka的更新計畫,廢棄該項目並將Consul作為Spring Cloud的註冊中心。另外大多數書籍的網關依舊使用的Spring Cloud Zuul,但是目前Spring 已經逐漸廢棄Spring Cloud Zuul,而是讓Spring Cloud Gateway接替他的網關位置。市面上的同類書的技術將沒有將此內容更新。另外本書從分散式架構程式的方式角度進行講解,包括分散式任務調度、分散式事務管理,重點提及了這部分的實戰與思想。很多書只是用來教導框架構架,而本書則希望通過框架讓讀者認識分散式的具體操作方法。本書以案例任務模式主要介紹了Spring Boot微服務的持久化、快取、快取同步、佇列,Spring Cloud的新版註冊中心Consul、新版網關Spring Cloud Gateway、Spring Cloud分散式通訊、共享信息、單點登錄、鑒權等相關內容。

圖書目錄

第1章 微服務分散式架構設計原理1
1.1 Java Web應用程式的發展歷史1
1.2 微服務分散式2
1.2.1 Spring Boot微服務的定義和特點3
1.2.2 Spring Boot的職場導讀3
1.2.3 Spring部分內容4
1.2.4 微服務的拆分6
1.3 【實例】微服務工程Hello World7
1.3.1 實例背景7
1.3.2 創建Maven Project7
1.3.3 使用空Maven Project模板7
1.3.4 編輯Maven坐標定位及工程名8
1.3.5 檢查Maven目錄結構9
1.3.6 編寫Pom檔案10
1.3.7 Spring Boot依賴包的導入12
1.3.8 編寫Spring Boot啟動類14
1.3.9 編寫Spring Boot接口14
1.3.10 當前項目結構14
1.3.11 啟動工程15
1.3.12 Spring Boot初始化啟動後16
1.3.13 實例易錯點16
1.4 Spring Boot啟動類掃描Bean18
1.4.1 @SpringBootApplication註解18
1.4.2 @ComponentScan註解20
1.4.3 Spring Boot掃描其他包下檔案20
1.5 【實例】將連線埠號改成909021
1.5.1 實例背景21
1.5.2 創建application.properties資源配置
檔案22
1.5.3 增加資源配置檔案中的配置信息23
1.5.4 運行結果23
1.5.5 實例易錯點23
1.6 YAML檔案24
1.6.1 YAML檔案簡介25
1.6.2 YAML檔案的書寫格式25
1.7 【實例】使用YAML配置檔案25
1.7.1 實例背景25
1.7.2 原properties檔案25
1.7.3 轉換格式後的YAML檔案26
1.7.4 實例易錯點26
1.8 【實例】通過單配置檔案讓工程
適應多套用場景27
1.8.1 實例背景27
1.8.2 更改application.yml檔案27
1.8.3 更改啟動類27
1.8.4 輸入啟動參數29
1.8.5 運行結果30
1.8.6 實例易錯點30
1.9 【實例】通過多配置檔案使工程
適應多套用場景31
1.9.1 實例背景31
1.9.2 新建SIT和UAT環境所需資源
配置檔案31
1.9.3 新建系統資源配置檔案31
1.9.4 編寫啟動類31
1.9.5 當前項目結構32
1.9.6 運行結果32
1.10 微服務配置權重32
1.10.1 資源配置信息類型的權重32
1.10.2 資源配置檔案類型的權重33
1.10.3 資源配置檔案存在位置與權重
解讀33
1.11 本章小結34
1.12 習題34
第2章 分散式的註冊中心35
2.1 註冊中心35
2.1.1 Eureka與Consul的區別35
2.1.2 Consul的相關術語37
2.1.3 Consul的安裝37
2.2 Consul的常用命令37
2.2.1 consul agent -dev38
2.2.2 consul -members39
2.2.3 consul leave40
2.2.4 agent命令的常用配置參數40
2.2.5 HTTP API41
2.3 【實例】創建第一個微服務分散式
項目42
2.3.1 實例背景42
2.3.2 搭建Consul集群42
2.3.3 創建微服務工程編寫相應依賴
檔案45
2.3.4 Spring Cloud和Spring Boot的
版本對應關係46
2.3.5 編寫微服務YAML資源配置檔案46
2.3.6 編寫微服務啟動類註冊到
Consul上48
2.3.7 當前項目結構48
2.3.8 運行結果49
2.3.9 實例易錯點50
2.4 【實例】通過代碼獲取Consul中的
服務信息51
2.4.1 實例背景51
2.4 2 編寫獲得其他註冊服務的代碼52
2.4 3 運行結果53
2.4.4 實例易錯點53
2.5 【實例】Spring Cloud操作Consul
的K/V存儲54
2.5.1 實例背景54
2.5.2 添加依賴54
2.5.3 利用Consul的UI界面添加K/V
存儲54
2.5.4 編寫YAML資源配置檔案對應
K/V存儲55
2.5.5 編寫MyConfig.java檔案對應
相關K/V存儲56
2.5.6 調用MyConfig.java中的參數57
2.5.7 在啟動類引用相關配置57
2.5.8 當前項目結構58
2.5.9 運行結果58
2.5.10 實例易錯點60
2.6 本章小結60
2.7 習題60
第3章 分散式的通信61
3.1 分散式通信61
3.1.1 Spring Cloud Feign61
3.1.2 Swagger61
3.2 【實例】微服務集成Swagger62
3.2.1 實例背景62
3.2.2 編寫Swagger依賴62
3.2.3 編寫Swagger配置63
3.2.4 編寫接口與接口處的Swagger
配置64
3.2.5 當前項目結構66
3.2.6 運行效果66
3.2.7 實例易錯點70
3.3 【實例】Feign調用微服務接口72
3.3.1 實例背景72
3.3.2 引入相關配置信息73
3.3.3 編寫Feign客戶端73
3.3.4 編寫調用75
3.3.5 編寫啟動類76
3.3.6 當前項目結構76
3.3.7 運行結果77
3.3.8 實例易錯點77
3.4 【實例】Feign的攔截器78
3.4.1 實例背景78
3.4.2 在cloud-admin-8084工程中增加
攔截器78
3.4.3 當前項目結構79
3.4.4 運行結果79
3.4.5 實例易錯點80
3.5 Feign的配置81
3.5.1 傳輸數據壓縮配置81
3.5.2 日誌配置82
3.5.3 逾時配置83
3.6 【實例】Feign的降級回退處理
——Feign的Fallback類84
3.6.1 實例背景84
3.6.2 在資源配置檔案中開啟Feign內置
的Hystrix許可權84
3.6.3 編寫Fallback降級類84
3.6.4 Service整合Fallback降級類84
3.6.5 當前項目結構85
3.6.6 運行結果85
3.7 【實例】Feign的降級回退處理
——Feign的Fallback工廠86
3.7.1 實例背景86
3.7.2 編寫Fallback降級工廠86
3.7.3 整合Fallback降級工廠87
3.7.4 實例易錯點87
3.8 本章小結88
3.9 習題88
第4章 分散式的客戶端負載均衡89
4.1 負載均衡89
4.1.1 傳統伺服器端負載均衡89
4.1.2 Ribbon客戶端負載均衡89
4.2 【實例】Feign整合Ribbon分發
請求90
4.2.1 實例背景90
4.2.2 編寫cloud-book-8086啟動類與
配置類支持Ribbon91
4.2.3 Service和Controller92
4.2.4 當前項目結構94
4.2.5 運行效果95
4.2.6 實例易錯點96
4.3 Ribbon的負載均衡策略配置97
4.4 本章小結98
4.5 習題98
第5章 分散式的斷路器99
5.1 斷路器99
5.1.1 為什麼需要斷路器99
5.1.2 Hystrix99
5.1.3 Hystrix解決的問題100
5.1.4 Hystrix如何解決問題100
5.2 【實例】Hystrix斷路器的降級
回退101
5.2.1 實例背景101
5.2.2 編寫相關Pom檔案101
5.2.3 編寫application資源配置檔案101
5.2.4 編寫Ribbon配置類102
5.2.5 編寫啟動類102
5.2.6 編寫Service類103
5.2.7 編寫Controller類103
5.2.8 當前項目結構104
5.2.9 運行結果105
5.2.10 實例易錯點106
5.3 Hystrix執行緒池108
5.3.1 Hystrix斷路器註解式的命令
配置109
5.3.2 Hystrix斷路器的註解式執行緒池
配置111
5.3.3 Hystrix斷路器註解式的整體
定製配置112
5.3.4 Hystrix斷路器資源配置式的
整體定製配置113
5.4 【實例】Hystrix斷路器的請求
快取114
5.4.1 實例背景114
5.4.2 通過Filter初始化Hystrix
上下文114
5.4.3 讓啟動類掃描Filter過濾器116
5.4.4 編寫Controller的Helper類116
5.4.5 編寫Controller類118
5.4.6 當前項目結構118
5.4.7 運行結果119
5.4.8 銷毀Hystrix的請求快取121
5.4.9 實例易錯點121
5.5 【實例】Hystrix的請求合併123
5.5.1 實例背景123
5.5.2 增加@HystrixCollapser請求合併
修飾的函式124
5.5.3 Controller中調用請求合併函式126
5.5.4 當前項目結構126
5.5.5 運行結果127
5.5.6 實例易錯點128
5.6 【實例】Hystrix的可視化監控129
5.6.1 實例背景129
5.6.2 Hystrix可視化監控的依賴129
5.6.3 Hystrix可視化監控的啟動類129
5.6.4 被監控的微服務增加回響地址130
5.6.5 當前項目結構131
5.6.6 運行結果132
5.6.7 實例易錯點134
5.7 本章小結135
5.8 習題135
第6章 微服務的異步執行緒池136
6.1 異步執行緒池136
6.1.1 異步執行緒池特點136
6.1.2 常見的執行緒池136
6.2 【實例】創建無返回值異步線
程池137
6.2.1 實例背景137
6.2.2 編寫Pom檔案137
6.2.3 編寫Spring Boot啟動類138
6.2.4 編寫異步執行緒池任務接口與
實現138
6.2.5 編寫外部可調用接口139
6.2.6 當前項目結構140
6.2.7 運行程式查看異步執行緒池效果140
6.2.8 實例易錯點141
6.3 【實例】創建有返回值異步
執行緒池141
6.3.1 實例背景141
6.3.2 增加新的服務接口141
6.3.3 增加新的服務實現141
6.3.4 增加新的調用142...

相關詞條

熱門詞條

聯絡我們