發表於2024-11-27
開源中國創始人@紅薯、YY歡聚時代技術經理鍾永生等聯閤背書
掃圖書封麵二維碼可獲得圖書配套的講解視頻
作者親自在綫的QQ群、微信群不定期答疑服務
瘋狂體係圖書的又一力作
《瘋狂Spring Cloud微服務架構實戰》以Spring Cloud為基礎,深入講解微服務開發的相關框架,包括服務管理框架Eureka、負載均衡框架Ribbon、服務客戶端Feign、容錯框架Hystrix、消息框架Stream等。除瞭介紹這些微服務相關的框架外,在《瘋狂Spring Cloud微服務架構實戰》的第11章,還介紹瞭如何使用Spring Data框架操作各個主流數據庫(MySQL、MongoDB、Redis)。在第12章,以一個案例為基礎結束本書內容,在該章中講解瞭模闆引擎Thymeleaf,整本書將會為大傢提供一整套微服務應用開發的解決方案。本書適閤有一定Java開發基礎的技術人員,尤其是正在使用或準備使用微服務構建高並發、大數據應用的技術人員及團隊。
楊恩雄,從事十多年的Java EE企業應用開發,曾任中企動力係統設計師、中企開源項目經理、數碼辰星科技公司項目經理,參與過多個企業級項目的設計與架構工作。曾負責辰星“電影票網絡銷售係統”的整體架構,精通Activiti、Drools、ESB等開源技術,在SOA、SaaS、大數據應用、互聯網係統架構方麵有著豐富的經驗,曾齣版《瘋狂Java實戰演義》《瘋狂工作流講義》《瘋狂Spring Cloud微服務架構實戰》等書籍。
作者楊恩雄,開源中國博主,發錶的Spring Cloud以及Activiti的相關技術文章,極具參考價值,幫助不少用戶朋友解決實際問題。這本《Spring Cloud微服務架構實戰》內容由淺到深,原理實戰相結閤,可以幫助初學者,甚至是具有一定微服務知識的開發者,快速掌握Spring Cloud的相關知識。
——紅薯(www.oschina.net) 開源中國創始人
與楊恩雄共事多年,他擁有較強的總結能力和技術實力,已經齣版瞭不少Java相關的書籍,此次齣版的《瘋狂Spring Cloud微服務架構實戰》一書,涵蓋瞭Spring Cloud的主要框架,為Java應用開發提供瞭一整套解決方案,開發者學習完這本書的知識後,我相信在技術實力上會有一個質的提升。
——鍾永生 YY歡聚時代 技術經理
第1章 Spring Cloud概述 1
1.1 傳統的應用 2
1.1.1 單體應用 2
1.1.2 架構演進 3
1.1.3 架構要求 4
1.2 微服務與Spring Cloud 5
1.2.1 什麼是微服務 5
1.2.2 關於Netflix OSS 6
1.2.3 Spring Cloud與Netflix 6
1.2.4 Spring Cloud的主要模塊 6
1.3 學習方麵的準備工作 7
1.3.1 下載本書的軟件及源碼 7
1.3.2 導入本書的案例 7
1.4 本章小結 8
第2章 搭建開發環境 9
2.1 安裝與配置Maven 10
2.1.1 關於Maven 10
2.1.2 下載與安裝Maven 11
2.1.3 配置遠程倉庫 11
2.2 安裝Eclipse 12
2.2.1 Eclipse版本 12
2.2.2 在Eclipse中配置Maven 12
2.3 Spring Boot 13
2.3.1 Spring Boot簡介 13
2.3.2 新建Maven項目 14
2.3.3 編寫啓動類 15
2.3.4 編寫控製器 16
2.3.5 發布REST WebService 17
2.4 Spring Boot配置文件 18
2.4.1 默認配置文件 18
2.4.2 指定配置文件位置 19
2.4.3 yml文件 19
2.4.4 運行時指定profiles配置 20
2.4.5 熱部署 20
2.5 Spring Cloud的版本 21
2.6 本章小結 21
第3章 微服務發布與調用 22
3.1 Eureka介紹 23
3.1.1 關於Eureka 23
3.1.2 Eureka架構 23
3.1.3 服務器端 24
3.1.4 服務提供者 24
3.1.5 服務調用者 24
3.2 第一個Eureka應用 24
3.2.1 構建服務器 24
3.2.2 服務器注冊開關 27
3.2.3 編寫服務提供者 27
3.2.4 編寫服務調用者 29
3.2.5 程序結構 32
3.3 Eureka集群搭建 33
3.3.1 本例集群結構圖 33
3.3.2 改造服務器端 34
3.3.3 改造服務提供者 35
3.3.4 改造服務調用者 37
3.3.5 編寫REST客戶端進行測試 37
3.4 服務實例的健康自檢 38
3.4.1 程序結構 39
3.4.2 使用Spring Boot Actuator 39
3.4.3 實現應用健康自檢 39
3.4.4 服務查詢 42
3.5 Eureka的常用配置 44
3.5.1 心跳檢測配置 44
3.5.2 注冊錶抓取間隔 44
3.5.3 配置與使用元數據 45
3.5.4 自我保護模式 45
3.6 本章小結 46
第4章 負載均衡 47
4.1 Ribbon介紹 48
4.1.1 Ribbon簡介 48
4.1.2 Ribbon子模塊 48
4.1.3 負載均衡器組件 48
4.2 第一個Ribbon程序 49
4.2.1 編寫服務 49
4.2.2 編寫請求客戶端 51
4.2.3 Ribbon的配置 52
4.3 Ribbon的負載均衡機製 53
4.3.1 負載均衡器 53
4.3.2 自定義負載規則 54
4.3.3 Ribbon自帶的負載規則 56
4.3.4 Ping機製 57
4.3.5 自定義Ping 59
4.3.6 其他配置 59
4.4 在Spring Cloud中使用Ribbon 60
4.4.1 準備工作 60
4.4.2 使用代碼配置Ribbon 61
4.4.3 使用配置文件設置Ribbon 63
4.4.4 Spring使用Ribbon的API 64
4.5 RestTemplate負載均衡 66
4.5.1 @LoadBalanced注解概述 66
4.5.2 編寫自定義注解以及攔截器 66
4.5.3 使用自定義攔截器以及注解 68
4.5.4 在控製器中使用RestTemplate 69
4.6 本章小結 71
第5章 REST客戶端Feign 72
5.1 REST客戶端 73
5.1.1 使用CXF調用REST服務 73
5.1.2 使用Restlet調用REST服務 74
5.1.3 Feign框架介紹 75
5.1.4 第一個Feign程序 76
5.1.5 請求參數與返迴對象 77
5.2 使用Feign 78
5.2.1 編碼器 79
5.2.2 解碼器 80
5.2.3 XML的編碼與解碼 80
5.2.4 自定義編碼器與解碼器 83
5.2.5 自定義Feign客戶端 83
5.2.6 使用第三方注解 85
5.2.7 Feign解析第三方注解 86
5.2.8 請求攔截器 89
5.2.9 接口日誌 89
5.3 在Spring Cloud中使用Feign 90
5.3.1 Spring Cloud整閤Feign 91
5.3.2 Feign負載均衡 93
5.3.3 默認配置 93
5.3.4 自定義配置 94
5.3.5 可選配置 97
5.3.6 壓縮配置 98
5.4 本章小結 98
第6章 Spring Cloud的保護機製 99
6.1 概述 100
6.1.1 實際問題 100
6.1.2 傳統的解決方式 101
6.1.3 集群容錯框架Hystrix 101
6.1.4 Hystrix的功能 102
6.2 第一個Hystrix程序 103
6.2.1 準備工作 103
6.2.2 客戶端使用Hystrix 103
6.2.3 調用錯誤服務 105
6.2.4 Hystrix的運作流程 106
6.3 Hystrix的使用 108
6.3.1 命令執行 108
6.3.2 屬性配置 110
6.3.3 迴退 111
6.3.4 迴退的模式 112
6.3.5 斷路器開啓 113
6.3.6 斷路器關閉 116
6.3.7 隔離機製 118
6.3.8 閤並請求 121
6.3.9 請求緩存 125
6.4 在Spring Cloud中使用Hystrix 127
6.4.1 整閤Hystrix 128
6.4.2 命令配置 130
6.4.3 默認配置 131
6.4.4 緩存注解 132
6.4.5 閤並請求注解 134
6.4.6 Feign與Hystrix整閤 136
6.4.7 Hystrix監控 140
6.5 本章小結 142
第7章 微服務集群網關 143
7.1 Zuul框架介紹 144
7.1.1 關於Zuul 144
7.1.2 Zuul的功能 144
7.2 在Web項目中使用Zuul 145
7.2.1 Web項目整閤Zuul 145
7.2.2 測試路由功能 145
7.2.3 過濾器運行機製 147
7.3 在微服務集群中初試Zuul 148
7.3.1 集群搭建 149
7.3.2 路由到集群服務 150
7.3.3 Zuul Http客戶端 153
7.4 路由配置 153
7.4.1 簡單路由 154
7.4.2 跳轉路由 155
7.4.3 Ribbon路由 155
7.4.4 自定義路由規則 156
7.4.5 忽略路由 157
7.5 Zuul的其他配置 157
7.5.1 請求頭配置 157
7.5.2 路由端點 158
7.5.3 Zuul與Hystrix 158
7.5.4 在Zuul中預加載Ribbon 161
7.6 Zuul功能進階 161
7.6.1 過濾器優先級 161
7.6.2 自定義過濾器 162
7.6.3 動態加載過濾器 163
7.6.4 禁用過濾器 165
7.6.5 請求上下文 166
7.6.6 @EnableZuulServer注解 168
7.6.7 error過濾器 169
7.6.8 動態路由 171
7.7 本章小結 172
第8章 微服務與消息驅動 173
8.1 Spring Cloud Stream介紹 174
8.1.1 關於Stream框架 174
8.1.2 Stream框架的組成部分 174
8.1.3 消息代理中間件 174
8.2 RabbitMQ框架 175
8.2.1 RabbitMQ和AMQP 175
8.2.2 下載與運行 176
8.2.3 編寫生産者 177
8.2.4 編寫消費者 179
8.2.5 交換器、綁定與隊列 180
8.3 Apache Kafka框架 181
8.3.1 關於Kafka 181
8.3.2 運行Kafka服務器 182
8.3.3 編寫生産者 182
8.3.4 編寫消費者 184
8.3.5 消費者組 185
8.4 開發消息微服務 185
8.4.1 準備工作 186
8.4.2 編寫生産者 187
8.4.3 編寫消費者 188
8.4.4 更換綁定器 189
8.4.5 Sink、Source與Processor 190
8.4.6 消費者組 191
8.5 本章小結 192
第9章 集群配置中心 193
9.1 概述 194
9.1.1 關於Spring Cloud Config 194
9.1.2 應用結構 195
9.1.3 引導程序簡介 195
9.1.4 搭建SVN環境 196
9.2 構建第一個例子 196
9.2.1 創建服務器 196
9.2.2 配置SVN倉庫 197
9.2.3 創建客戶端 199
9.2.4 從客戶端讀取SVN配置 200
9.2.5 目錄配置總結 201
9.2.6 刷新配置 202
9.2.7 刷新Bean 203
9.3 配置的加密和解密 205
9.3.1 為服務器安裝JCE 205
9.3.2 加密和解密端點 205
9.3.3 SVN存儲加密數據 206
9.3.4 非對稱加密 207
9.4 其他配置 207
9.4.1 服務器健康指示器 207
9.4.2 客戶端的錯誤提前與重試機製 208
9.4.3 安全配置 209
9.4.4 訪問服務器配置 210
9.5 整閤使用 210
9.5.1 準備工作 210
9.5.2 配置服務器、客戶端整閤Eureka 212
9.5.3 整閤Zuul 214
9.5.4 整閤Spring Cloud Bus刷新配置 216
9.5.5 刷新單個節點配置 217
9.6 本章小結 217
第10章 微服務跟蹤 219
10.1 概述 220
10.1.1 實際問題與Sleuth 220
10.1.2 服務跟蹤係統 220
10.1.3 Sleuth的基本概念 220
10.1.4 項目準備 221
10.2 Sleuth整閤Zipkin 222
10.2.1 Zipkin簡介 222
10.2.2 構建Zipkin服務器項目 223
10.2.3 配置微服務 224
10.2.4 查看數據 225
10.2.5 使用MySQL保存數據 228
10.2.6 使用消息采集數據 230
10.3 Sleuth整閤ELK 232
10.3.1 關於ELK 232
10.3.2 下載ELK 233
10.3.3 運行Elasticsearch 233
10.3.4 使用Logstash讀取JSON 234
10.3.5 使用Kibana展示數據 235
10.3.6 使用Logback轉換JSON 237
10.4 本章小結 240
第11章 微服務數據庫實戰 241
11.1 概述 242
11.1.1 關於Spring Data 242
11.1.2 Spring Data的功能 243
11.1.3 Spring Data的模塊 243
11.2 Spring Data與JPA 243
11.2.1 構建項目 244
11.2.2 數據訪問層與業務層 245
11.2.3 自定義數據存儲邏輯 247
11.2.4 方法名查詢 248
11.2.5 使用@Query注解 249
11.3 Spring Data與MongoDB 250
11.3.1 安裝MongoDB 250
11.3.2 配置權限 251
11.3.3 MongoDB的概念 252
11.3.4 構建項目 252
11.3.5 數據訪問層與業務層 253
11.3.6 自定義數據存儲邏輯 254
11.3.7 方法名查詢 256
11.3.8 使用@Query注解 258
11.4 Spring Data與Redis 258
11.4.1 Redis的安裝與配置 258
11.4.2 Redis的數據類型 259
11.4.3 使用Jedis 260
11.4.4 構建Spring Data項目 262
11.4.5 數據訪問層與業務層 263
11.4.6 自定義數據存儲邏輯 265
11.4.7 方法名查詢 267
11.5 本章小結 268
第12章 案例實戰 269
12.1 概述 270
12.1.1 錶現層技術 270
12.1.2 案例概述 270
12.1.3 案例技術選型 270
12.2 Spring Boot與JSP 271
12.2.1 構建項目 271
12.2.2 配置 272
12.2.3 打包部署 273
12.3 模闆引擎Thymeleaf 274
12.3.1 關於Thymeleaf 274
12.3.2 Spring Boot整閤Thymeleaf 274
12.3.3 加載資源 275
12.3.4 獲取請求數據 276
12.3.5 調用Bean方法 276
12.3.6 遍曆集閤 277
12.3.7 錶單提交 277
12.4 圖書管理案例 278
12.4.1 運行案例 278
12.4.2 案例模塊 279
12.4.3 案例架構 279
12.4.4 數據庫 280
12.4.5 用戶登錄 280
12.4.6 新建圖書 284
12.4.7 圖書展示 286
12.5 本章小結 287
序
Java語言經過多年的發展,從開始的EJB + Servlet的開發模式,到後來的輕量級Java EE開發模式,每一種架構或開發模式的齣現,都牽動著萬韆程序員的心。程序員是一個求知若渴的群體,也是一個容易接受新知識的群體,為瞭學習新技術,多少人食不知味、夜不能寐。筆者有幸成為一名平凡的程序員,從業十餘年,麵對各種新技術,時常懷著一顆謙卑的心不停前進,隻有學習,纔能帶來快樂,纔不會被淘汰。
筆者大約從2010年開始接手高並發、大數據的係統,經曆過項目重構、人肉運維等痛苦過程,深知項目架構之不易,一直以來,期望能構建齣完美的係統。此次恰逢Spring Cloud的興起,筆者亦難以北窗高臥,數月以來寢食不安,編纂拙著。筆者學識淺薄,加之倉促付梓,書中錯漏定然難免,望讀者見諒。
IT行業人纔輩齣,筆者為平庸之輩,今日有幸與大傢分享知識,實乃上天的眷顧。本書能得以齣版,得益於多方襄助,對他們的感激之情,難以言錶。感謝傳道並解惑的恩師,感謝聰穎而好學的讀者,感謝善良且親愛的傢人,筆者會謝意永存、銘感不忘。
本書特點
筆者長期工作於企業的IT 瘋狂Spring Cloud微服務架構實戰 下載 mobi epub pdf txt 電子書 格式
瘋狂Spring Cloud微服務架構實戰 下載 mobi pdf epub txt 電子書 格式 2024
瘋狂Spring Cloud微服務架構實戰 下載 mobi epub pdf 電子書這本書我買瞭第一版,現在第二版齣來喲又買瞭,好久沒做工作流瞭,不懂有時間看完沒
評分內容比同類書籍容易上手,通俗易懂,實踐性強
評分還沒看呢 相當於收集關於cloud的書瞭
評分最近在搞工作流,剛好用來入門參考
評分好,很不錯!
評分經典,很適閤有經驗的開發人員
評分和我想象的還是有差距,隻能說是本適閤培訓的書
評分這是我第一次購買這個商品,覺得質量不錯,價格也公道,下迴有需要會再來購買!
評分看著正是我所需要的,趁著優惠趕緊買,看完再細評!
瘋狂Spring Cloud微服務架構實戰 mobi epub pdf txt 電子書 格式下載 2024