Spring Cloud開發實戰( 簡體 字) | |
作者:徐文聰 | 類別:1. -> 程式設計 -> JAVA -> Spring |
出版社:電子工業出版社 | 3dWoo書號: 54753 詢問書籍請說出此書號! 有庫存 NT售價: 475 元 |
出版日:6/1/2021 | |
頁數:324 | |
光碟數:0 | |
站長推薦: | |
印刷:黑白印刷 | 語系: ( 簡體 字 ) |
ISBN:9787121411182 | 加入購物車 │加到我的最愛 (請先登入會員) |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社) | |
第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 本書是一本Spring Cloud開發的入門級教程圖書,也是一本著重于動手實戰的編程指導書。隨著這兩年Spring Cloud開發的日漸火熱,無論是對于編程工作者、編程講師或是編程愛好者與學生,掌握SpringCloud 開發技能都將為自己帶來極大的收獲。本書分15個章節對Spring Cloud的各種組件進行全面講解,并針對某個組件的替代產品進行針對性的比較。有Spring Cloud的注冊中心Eureka,Consul;網關組件Zuul和Gateway;異步消息隊列Kafka,配置中心config等。本書章節簡明扼要,務求用最簡潔的文字和代碼將整個Spring Cloud技術體系進行講解說明,讀者在閱讀的過程中也能收獲匪淺。
Spring Cloud技術是目前Java微服務開發使用最廣泛的技術之一,隨著微服務思想的推廣,Spring Cloud因其簡單易用、組件豐富,以及便于快速開發部署、配置和監控等特性被越來越多的開發者用于各種場景中。
筆者在使用過程中就深深感受到了Spring Cloud的便捷和強大,它提供了一整套的微服務解決方案,如Eureka注冊中心、Zuul和Gateway服務網關、Hystrix斷路器、Ribbon負載均衡器,以及分布式配置Spring Cloud Config,每一種組件配置都能無縫接入。 本書特色 本書的特色是內容豐富翔實,講解每章組件時不僅針對一個實例,而且是結合相關的知識進行擴展,并通過生活中的實例進行對比,將比較深奧的原理講解得通俗易懂。 (1)內容翔實,覆蓋了Spring Cloud微服務框架的大部分常用技術組件。 (2)深入淺出,將一些復雜的技術原理描述分析得通俗易懂,使復雜的問題簡單化。 (3)理論和代碼相結合,能讓讀者在實戰中理解一個技術點的原理和應用。 (4)結合當下最熱門和最新的技術點。 (5)對一些開發中遇到的問題進行深入的剖析。 本書內容 本書的內容如下。 (1)Spring Cloud微服務簡介:介紹了Spring Cloud的大致結構和框架、微服務的優缺點,以及與Spring Boot的關系。 (2)微服務開發工具IDEA:包括一些快捷鍵的使用、文件的搜索和查看、代碼調試技巧、第三方組件等。 (3)注冊中心Eureka和Consul:介紹了注冊中心的啟動和配置。 (4)Feign客戶端:介紹了Feign聲明式客戶的使用方法、服務降級、安全認證、超時配置、重試機制、熔斷功能和負載均衡。 (5)Ribbon負載均衡器:介紹了Ribbon負載均衡器的服務端和客戶端實例、超時配置、路由配置及負載均衡的機制等。 (6)Config配置中心和第三方配置中心:介紹了原生的Spring Cloud Config、阿里開源的Nacos、攜程的Apollo及經典的ZooKeeper。 (7)Zuul網關和Gateway網關:介紹了網關的使用方式、路由規則,以及過濾器的配置、全局和局部的限流處理等。 (8)Spring Cloud Admin管理中心:介紹了Admin作為Spring Cloud的后臺提供的一系列功能,如健康檢查、監控警告、服務日志等。 (9)文檔管理工具Swagger和Postman:介紹了文檔管理工具Swagger集成到項目中的方式及注解方法,Postman的流程和操作使用方法。 (10)MongoDB數據庫:介紹了MongoDB數據庫的結構和特點,不同版本采用的存儲引擎,MongoDB 4.0以上的事務管理功能。 (11)Redis緩存:介紹了Redis的常用操作指令、集合哈希等基本結構,緩存算法、數據淘汰策略,、集群模式等高級功能,緩存雪崩、緩存穿透和緩存擊穿等異常情況。 (12)異步消息隊列Kafka:介紹了Kafka的定義、環境部署,以及消息協議等基本功能,以及分區機制、副本機制、備份機制、文件存儲機制、消息持久化等高級功能。 本書的思維導圖如下。 本書讀者對象 (1)Java和微服務初學者。 (2)各類計算機培訓班學員。 (3)各計算機、非計算機專業的大中專院校實習學生。 (4)需要微服務入門工具書的人員。 (5)對微服務架構和Spring Cloud框架有興趣的各類人員。 (6)想了解最新軟件開發技術的愛好者。 |