微服務分布式架構基礎與實戰:基於Spring Boot+Spring Cloud(簡體書)
商品資訊
系列名:新工科建設之路.計算機類規劃教材
ISBN13:9787121384134
出版社:電子工業出版社
作者:張方興
出版日:2020/03/01
裝訂/頁數:平裝/272頁
規格:24cm*17cm (高/寬)
版次:第1版
商品簡介
作者簡介
名人/編輯推薦
目次
商品簡介
微服務分布式架構的內容更新迭代速度極快,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分布式通訊、共享信息、單點登錄、鑒權等相關內容。
作者簡介
張方興,多年從事Java編程工作,參與多個項目的研發工作,精通Java編程與SSM技術。
名人/編輯推薦
項目貫穿知識點知識點講解的順序,即項目模塊建立的順序
無
無
目次
第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 World 7
1.3.1 實例背景 7
1.3.2 創建Maven Project 7
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啟動類掃描Bean 18
1.4.1 @SpringBootApplication注解 18
1.4.2 @ComponentScan注解 20
1.4.3 Spring Boot掃描其他包下文件 20
1.5 【實例】將端口號改成9090 21
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 -dev 38
2.2.2 consul -members 39
2.2.3 consul leave 40
2.2.4 agent命令的常用配置參數 40
2.2.5 HTTP API 41
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 Feign 61
3.1.2 Swagger 61
3.2 【實例】微服務集成Swagger 62
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啟動類與
配置類支持Ribbon 91
4.2.3 Service和Controller 92
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 Hystrix 99
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過濾器 11
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 World 7
1.3.1 實例背景 7
1.3.2 創建Maven Project 7
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啟動類掃描Bean 18
1.4.1 @SpringBootApplication注解 18
1.4.2 @ComponentScan注解 20
1.4.3 Spring Boot掃描其他包下文件 20
1.5 【實例】將端口號改成9090 21
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 -dev 38
2.2.2 consul -members 39
2.2.3 consul leave 40
2.2.4 agent命令的常用配置參數 40
2.2.5 HTTP API 41
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 Feign 61
3.1.2 Swagger 61
3.2 【實例】微服務集成Swagger 62
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啟動類與
配置類支持Ribbon 91
4.2.3 Service和Controller 92
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 Hystrix 99
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過濾器 11
主題書展
更多
主題書展
更多書展購物須知
大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。
特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。
無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。
為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。
若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

