Spring Cloud微服務:入門、實戰與進階

Spring Cloud微服務:入門、實戰與進階 pdf epub mobi txt 電子書 下載2025

出版者:機械工業齣版社
作者:尹吉歡 著
出品人:
頁數:400
译者:
出版時間:2019-6-18
價格:89.00元
裝幀:平裝
isbn號碼:9787111627319
叢書系列:雲計算與虛擬化技術叢書
圖書標籤:
  • SpringCloud
  • 微服務
  • 好書,值得一讀
  • Spring
  • java
  • 微服務,算法,好書
  • 計算機
  • 雲計算
  • Spring Cloud
  • 微服務
  • 入門
  • 實戰
  • 進階
  • 分布式
  • 雲計算
  • 架構設計
  • 服務注冊
  • 高可用
想要找書就要到 小美書屋
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

具體描述

這是一部從技術原理、工程實踐和進階提升3個維度講解Spring Cloud微服務架構與開發的著作。

作者在Spring Cloud微服務領域有豐富的工程實踐經驗,它將帶領讀者零基礎入門Spring Cloud微服務,並快速掌握動手實踐能力,最終進階為Spring Cloud微服務領域的技術達人。

全書共21章,分為4個部分:

第一部分 準備篇(第1~2章)

首先對微服務和Spring Cloud的概念、優劣勢、功能模塊等做瞭整體性的介紹,然後演示瞭如何搭建Spring Cloud的開發環境,最後對Spring Boot做瞭詳細的介紹。

第二部分 基礎篇(第3~7章)

對Eureka 注冊中心、客戶端負載均衡 Ribbon、聲明式 REST 客戶端 Feign、Hystrix 服務容錯處理、API 網關等Spring Cloud的重要模塊的技術原理、配置、使用等做瞭詳盡的講解。

第三部分 實戰篇(第8~14章)

對微服務架構中的普遍問題給齣瞭實戰解決方案,包括選擇配置中心、自研發配置中心、分布式跟蹤、微服務安全認證、Spring Boot Admin 管理微服務、快速生成 API 文檔等實用性內容。

第四部分 高級篇(15-21)

重點講解瞭Spring Cloud的擴展性的使用,比如API網關、微服務的緩存和存儲、分布式事務解決方案、任務調度、分庫分錶,以及大量優秀的生産實踐經驗等。

著者簡介

資深Java技術專傢和微服務技術專傢,在Spring Cloud和微服務方麵有豐富的經驗。喜歡寫代碼,研究技術,主要關注分布式、高並發、後端服務,座右銘是“簡單的技術愛好者”。

一直在上海從事Java服務端開發工作,前端也略有涉及。曾就職於魯班軟件,一起唱等互聯網公司,目前就職於房産大數據公司房價網,擔任技術經理,負責公司産品的開發和管理工作。

2016年創辦瞭自己的技術網站‘猿天地’,主要提供Java相關技術的分享和視頻課程。

圖書目錄

Contents 目  錄
贊譽
前言
第一部分 準備篇
第1章 Spring Cloud 與微服務概述 2
1.1 傳統的單體應用 2
1.1.1 改進單體應用的架構 2
1.1.2 嚮微服務靠攏 3
1.2 什麼是微服務 4
1.2.1 使用微服務架構的優勢和劣勢 4
1.2.2 重構前的準備工作 5
1.3 什麼是Spring Cloud 5
1.3.1 Spring Cloud模塊介紹 6
1.3.2 Spring Cloud版本介紹 6
1.4 本章小結 7
第2章 實戰前的準備工作 8
2.1 開發環境的準備 8
2.2 Spring Boot入門 9
2.2.1 Spring Boot簡介 9
2.2.2 搭建Spring Boot項目 9
2.2.3 編寫第一個REST接口 11
2.2.4 讀取配置文件 11
2.2.5 profiles多環境配置 13
2.2.6 熱部署 13
2.2.7 actuator監控 15
2.2.8 自定義actuator端點 17
2.2.9 統一異常處理 18
2.2.10 異步執行 20
2.2.11 隨機端口 22
2.2.12 編譯打包 24
2.3 Spring Boot Starter自定義 25
2.3.1 Spring Boot Starter項目創建 25
2.3.2 自動創建客戶端 26
2.3.3 使用Starter 27
2.3.4 使用注解開啓Starter自動構建 27
2.3.5 使用配置開啓Starter自動構建 28
2.3.6 配置Starter內容提示 29
2.4 本章小結 29
第二部分 基礎篇
第3章 Eureka 注冊中心 32
3.1 Eureka 32
3.2 使用 Eureka 編寫注冊中心服務 33
3.3 編寫服務提供者 35
3.3.1 創建項目注冊到Eureka 35
3.3.2 編寫提供接口 36
3.4 編寫服務消費者 37
3.4.1 直接調用接口 37
3.4.2 通過Eureka來消費接口 38
3.5 開啓 Eureka 認證 38
3.6 Eureka 高可用搭建 39
3.6.1 高可用原理 39
3.6.2 搭建步驟 40
3.7 常用配置講解 41
3.7.1 關閉自我保護 41
3.7.2 自定義Eureka的
InstanceID 41
3.7.3 自定義實例跳轉鏈接 42
3.7.4 快速移除已經失效的服務信息 43
3.8 擴展使用 44
3.8.1 Eureka REST API 44
3.8.2 元數據使用 46
3.8.3 EurekaClient使用 47
3.8.4 健康檢查 49
3.8.5 服務上下綫監控 50
3.9 本章小結 51
第4章 客戶端負載均衡 Ribbon 52
4.1 Ribbon 52
4.1.1 Ribbon模塊 52
4.1.2 Ribbon 使用 53
4.2 RestTemplate 結閤 Ribbon 使用 54
4.2.1 使用 RestTemplate 與整閤 Ribbon 54
4.2.2 RestTemplate 負載均衡示例 57
4.2.3 @LoadBalanced 注解原理 58
4.2.4 Ribbon API 使用 62
4.2.5 Ribbon 飢餓加載 63
4.3 負載均衡策略介紹 64
4.4 自定義負載策略 65
4.5 配置詳解 66
4.5.1 常用配置 66
4.5.2 代碼配置 Ribbon 67
4.5.3 配置文件方式配置Ribbon 67
4.6 重試機製 68
4.7 本章小結 69
第5章 聲明式REST客戶端Feign 70
5.1 使用 Feign 調用服務接口 70
5.1.1 在Spring Cloud中集成Feign 71
5.1.2 使用Feign調用接口 71
5.2 自定義 Feign的配置 72
5.2.1 日誌配置 72
5.2.2 契約配置 73
5.2.3 Basic認證配置 74
5.2.4 超時時間配置 75
5.2.5 客戶端組件配置 75
5.2.6 GZIP壓縮配置 76
5.2.7 編碼器解碼器配置 77
5.2.8 使用配置自定義Feign的配置 78
5.2.9 繼承特性 78
5.2.10 多參數請求構造 80
5.3 脫離 Spring Cloud 使用 Feign 80
5.3.1 原生注解方式 81
5.3.2 構建Feign對象 82
5.3.3 其他配置 83
5.4 本章小結 83
第6章 Hystrix 服務容錯處理 84
6.1 Hystrix 84
6.1.1 Hystrix的簡單使用 84
6.1.2 迴退支持 85
6.1.3 信號量策略配置 86
6.1.4 綫程隔離策略配置 86
6.1.5 結果緩存 87
6.1.6 緩存清除 88
6.1.7 閤並請求 89
6.2 在 Spring Cloud 中使用Hystrix 91
6.2.1 簡單使用 91
6.2.2 配置詳解 92
6.2.3 Feign整閤Hystrix服務容錯 95
6.2.4 Feign中禁用Hystrix 97
6.3 Hystrix 監控 97
6.4 整閤 Dashboard 查看監控數據 98
6.5 Turbine 聚閤集群數據 100
6.5.1 Turbine使用 100
6.5.2 context-path導緻監控失敗 101
6.6 本章小結 102
第7章 API網關 103
7.1 Zuul 簡介 103
7.2 使用 Zuul 構建微服務網關 104
7.2.1 簡單使用 104
7.2.2 集成Eureka 105
7.3 Zuul 路由配置 105
7.4 Zuul過濾器講解 106
7.4.1 過濾器類型 106
7.4.2 請求生命周期 107
7.4.3 使用過濾器 108
7.4.4 過濾器禁用 109
7.4.5 過濾器中傳遞數據 110
7.4.6 過濾器攔截請求 111
7.4.7 過濾器中異常處理 113
7.5 Zuul 容錯和迴退 115
7.5.1 容錯機製 115
7.5.2 迴退機製 116
7.6 Zuul使用小經驗 118
7.6.1 /routes 端點 118
7.6.2 /filters 端點 118
7.6.3 文件上傳 119
7.6.4 請求響應信息輸齣 121
7.6.5 Zuul自帶的Debug功能 124
7.7 Zuul 高可用 126
7.8 本章小結 127
第三部分 實戰篇
第8章 API 網關之Spring Cloud Gateway 130
8.1 Spring Cloud Gateway介紹 130
8.2 Spring Cloud Gateway工作原理 131
8.3 Spring Cloud Gateway快速上手 131
8.3.1 創建Gateway項目 131
8.3.2 路由轉發示例 132
8.3.3 整閤Eureka路由 133
8.3.4 整閤Eureka的默認路由 133
8.4 Spring Cloud Gateway路由斷言工廠 134
8.4.1 路由斷言工廠使用 134
8.4.2 自定義路由斷言工廠 136
8.5 Spring Cloud Gateway過濾器工廠 137
8.5.1 Spring Cloud Gateway過濾器工廠使用 137
8.5.2 自定義Spring Cloud Gateway過濾器工廠 138
8.6 全局過濾器 140
8.7 實戰案例 143
8.7.1 限流實戰 143
8.7.2 熔斷迴退實戰 145
8.7.3 跨域實戰 145
8.7.4 統一異常處理 147
8.7.5 重試機製 150
8.8 本章小結 151
第9章 自研分布式配置管理 152
9.1 自研配置管理框架 Smconf 簡介 152
9.2 Smconf 工作原理 153
9.3 Smconf 部署 154
9.3.1 Mongodb 安裝 154
9.3.2 Zookeeper 安裝 155
9.3.3 Smconf Server 部署 156
9.4 項目中集成 Smconf 157
9.4.1 集成Smconf 157
9.4.2 使用Smconf 158
9.4.3 配置更新迴調 159
9.5 Smconf 詳細使用 160
9.5.1 源碼編譯問題 160
9.5.2 後颱賬號管理 160
9.5.3 REST API 161
9.6 Smconf 源碼解析 163
9.6.1 Client啓動 163
9.6.2 啓動加載配置 165
9.6.3 配置修改推送原理 166
9.7 本章小結 167
第10章 分布式配置中心Apollo 168
10.1 Apollo簡介 168
10.2 Apollo的核心功能點 168
10.3 Apollo核心概念 170
10.4 Apollo本地部署 171
10.5 Apollo Portal管理後颱使用 172
10.6 Java中使用Apollo 174
10.6.1 普通Java項目中使用 174
10.6.2 Spring Boot中使用 177
10.7 Apollo的架構設計 179
10.7.1 Apollo架構設計介紹 179
10.7.2 Apollo服務端設計 181
10.7.3 Apollo客戶端設計 188
10.7.4 Apollo高可用設計 195
10.8 本章小結 196
第11章 Sleuth 服務跟蹤 197
11.1 Spring Cloud 集成 Sleuth 197
11.2 整閤 Logstash 198
11.2.1 ELK 簡介 198
11.2.2 輸齣 JSON 格式日誌 198
11.3 整閤 Zipkin 200
11.3.1 Zipkin 數據收集服務 200
11.3.2 項目集成 Zipkin 發送調用鏈數據 201
11.3.3 抽樣采集數據 203
11.3.4 異步任務綫程池定義 203
11.3.5 TracingFilter 204
11.3.6 監控本地方法 205
11.3.7 過濾不想跟蹤的請求 206
11.3.8 用 RabbitMq 代替 Http 發送調用鏈數據 206
11.3.9 用 Elasticsearch 存儲調用鏈數據 207
11.4 本章小結 208
第12章 微服務之間調用的安全認證 209
12.1 什麼是 JWT 209
12.2 創建統一的認證服務 210
12.2.1 錶結構 210
12.2.2 JWT工具類封裝 210
12.2.3 認證接口 212
12.3 服務提供方進行調用認證 212
12.4 服務消費方申請 Token 214
12.5 Feign 調用前統一申請 Token 傳遞到調用的服務中 216
12.6 RestTemplate調用前統一申請 Token 傳遞到調用的服務中 217
12.7 Zuul 中傳遞 Token 到路由的服務中 218
12.8 本章小結 219
第13章 Spring Boot Admin 220
13.1 Spring Boot Admin 的使用方法 220
13.1.1 創建 Spring Boot Admin項目 220
13.1.2 將服務注冊到 Spring Boot Admin 221
13.1.3 監控內容介紹 223
13.1.4 如何在 Admin 中查看各個服務的日誌 225
13.2 開啓認證 226
13.3 集成 Eureka 227
13.4 監控服務 228
13.4.1 郵件警報 228
13.4.2 自定義釘釘警報 229
13.5 本章小結 232
第14章 服務的API文檔管理 233
14.1 Swagger 簡介 233
14.2 集成 Swagger 管理 API 文檔 234
14.2.1 項目中集成 Swagger 234
14.2.2 使用 Swagger 生成文檔 234
14.2.3 在綫測試接口 235
14.3 Swagger 注解 236
14.4 Eureka 控製颱快速查看 Swagger 文檔 240
14.5 請求認證 240
14.6 Zuul中聚閤多個服務Swagger 241
14.7 本章小結 242
第四部分 高級篇
第15章 API 網關擴展 244
15.1 用戶認證 244
15.1.1 動態管理不需要攔截的 API 請求 244
15.1.2 創建認證的用戶服務 246
15.1.3 路由之前的認證 247
15.1.4 嚮下遊微服務中傳遞認證之後的用戶信息 248
15.1.5 內部服務間的用戶信息傳遞 248
15.2 服務限流 250
15.2.1 限流算法 250
15.2.2 單節點限流 251
15.2.3 集群限流 255
15.2.4 具體服務限流 258
15.2.5 具體接口限流 258
15.3 服務降級 262
15.4 灰度發布 264
15.4.1 原理講解 264
15.4.2 根據用戶做灰度發布 265
15.4.3 根據 IP 做灰度發布 268
15.5 本章小結 268
第16章 微服務之緩存 269
16.1 Guava Cache 本地緩存 269
16.1.1 Guava Cache 簡介 269
16.1.2 代碼示例 270
16.1.3 迴收策略 270
16.2 Redis 緩存 271
16.2.1 用 Redistemplate 操作 Redis 271
16.2.2 用 Repository 操作 Redis 272
16.2.3 Spring Cache 緩存數據 274
16.2.4 緩存異常處理 278
16.2.5 自定義緩存工具類 279
16.3 防止緩存穿透方案 282
16.3.1 什麼是緩存穿透 282
16.3.2 緩存穿透的危害 282
16.3.3 解決方案 282
16.3.4 布隆過濾器介紹 283
16.3.5 代碼示例 283
16.4 防止緩存雪崩方案 284
16.4.1 什麼是緩存雪崩 284
16.4.2 緩存雪崩的危害 284
16.4.3 解決方案 284
16.4.4 代碼示例 285
16.4.5 分布式鎖方式 285
16.5 本章小結 286
第17章 微服務之存儲 287
17.1 存儲選型 287
17.2 Mongodb 288
17.2.1 集成 Spring Data Mongodb 288
17.2.2 添加數據操作 288
17.2.3 索引使用 290
17.2.4 修改數據操作 291
17.2.5 刪除數據操作 293
17.2.6 查詢數據操作 294
17.2.7 GridFS 操作 295
17.2.8 用 Repository方式操作數據 296
17.2.9 自增 ID 實現 300
17.2.10 批量更新擴展 303
17.3 Mysql 304
17.3.1 集成 Spring Jdbc-Template 304
17.3.2 JdbcTemplate 代碼示例 305
17.3.3 封裝 JdbcTemplate 操作 Mysql 更簡單 305
17.3.4 擴展 JdbcTemplate 使用方式 306
17.3.5 常見問題 310
17.4 Elasticsearch 312
17.4.1 集成 Spring Data Elasticsearch 312
17.4.2 Repository 示例 312
17.4.3 ElasticsearchTemplate 示例 315
17.4.4 索引構建方式 318
17.5 本章小結 319
第18章 微服務之分布式事務解決方案 320
18.1 兩階段型 320
18.2 TCC 補償型 321
18.3 最終一緻性 321
18.3.1 原理講解 321
18.3.2 創建可靠性消息服務 323
18.3.3 消息存儲錶設計 324
18.3.4 提供服務接口 325
18.3.5 創建消息發送係統 329
18.3.6 消費消息邏輯 332
18.3.7 消息管理係統 335
18.4 最大努力通知型事務 335
18.5 本章小結 335
第19章 分布式任務調度 336
19.1 Elastic-Job 336
19.1.1 Elastic-Job 介紹 336
19.1.2 任務調度目前存在的問題 336
19.1.3 為什麼選擇 Elastic-Job 337
19.2 快速集成 338
19.3 任務使用 339
19.3.1 簡單任務 339
19.3.2 數據流任務 340
19.3.3 腳本任務 340
19.4 配置參數講解 341
19.4.1 注冊中心配置 341
19.4.2 作業配置 342
19.4.3 dataflow 獨有配置 343
19.4.4 script獨有配置 343
19.5 多節點並行調度 344
19.5.1 分片概念 344
19.5.2 任務節點分片策略 344
19.5.3 業務數據分片處理 345
19.6 事件追蹤 347
19.7 擴展功能 349
19.7.1 自定義監聽器 349
19.7.2 定義異常處理 349
19.8 運維平颱 350
19.8.1 功能列錶 350
19.8.2 部署運維平颱 351
19.8.3 運維平颱使用 351
19.9 使用經驗分享 355
19.9.1 任務的劃分和監控 355
19.9.2 任務的擴展性和節點數量 355
19.9.3 任務的重復執行 355
19.9.4 overwrite 覆蓋問題 356
19.9.5 流水式任務 356
19.10 本章小結 357
第20章 分庫分錶解決方案 358
20.1 Sharding-JDBC 358
20.1.1 介紹 358
20.1.2 功能列錶 359
20.1.3 相關概念 359
20.2 快速集成 360
20.3 讀寫分離實戰 362
20.3.1 準備數據 362
20.3.2 配置讀寫分離 363
20.3.3 驗證讀從庫 363
20.3.4 驗證寫主庫 365
20.3.5 Hint 強製路由主庫 366
20.4 分庫分錶實戰 367
20.4.1 常用分片算法 367
20.4.2 使用分片算法 368
20.4.3 不分庫隻分錶實戰 368
20.4.4 既分庫又分錶實戰 372
20.5 分布式主鍵 375
20.6 本章小結 377
第21章 最佳生産實踐經驗 378
21.1 開發環境和測試環境共用Eureka 378
21.2 Swagger和Actuator訪問進行權限控製 379
21.3 Spring Boot Admin監控被保護的服務 380
21.4 Apollo配置中心簡化版搭建分享 380
21.5 Apollo使用小經驗 382
21.5.1 公共配置 382
21.5.2 賬號權限 383
21.5.3 環境配置和項目配置 385
21.6 Apollo動態調整日誌級彆 385
21.7 Apollo存儲加密 387
21.8 擴展Apollo支持存儲加解密 390
21.9 Apollo結閤Zuul實現動態路由 391
21.10 Apollo整閤Archaius 393
21.11 Elastic-Job的Spring-Boot-Starter封裝 394
21.12 Spring Boot中Mongodb多數據源封裝 396
21.13 Zuul中對API進行加解密 398
21.14 本章小結 400
· · · · · · (收起)

讀後感

評分

小白看这本书之前先了解下什么是微服务吧,微服务是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成该任务。在所有情况下,每个任务代表着一个小的独立业...  

評分

小白看这本书之前先了解下什么是微服务吧,微服务是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成该任务。在所有情况下,每个任务代表着一个小的独立业...  

評分

这是作者第二版了,基于第一版做了很大的内容更新。内容非常丰富,既包含了微服务的理念、基础组件等入门内容,也引入了诸如Apollo、Spring Cloud Gateway 等 “第二代” 组件,再融合分布式的很多场景,如:分布式事务、分布式Job、分布式存储等,最后分享了一些线上的实战经...  

評分

作者的第一本书已经是去年的时候买的,回来读了一遍。第一本书相对比较简单,入门的基础。今年尹老师出了升级版本的书,就又买到手了。这本书增加了一些代码,也加强了一些内容,个人觉得还是有可读性的。毕竟,只有实战经验过的,才能联合写出来更好的技术文档。个人推荐一下...

評分

看了从1-11章,感觉写得还行。第12章问题明显些,如下: 1.没有一个整体的介绍,和一个组件之间的关系图或者调用图,而是有意无意地只讲解局部的代码,涉嫌隐藏重要的部分。 2.概念模糊。第12章开始的时候说的是定期刷新公匙,密匙。到了后面,忽而转成了定期刷新token了,这2...  

用戶評價

评分

現在微服務火的不行,和同學們聊天都是springcloud,不跟進都不知道如何和他們吹牛皮瞭,當然不隻是為瞭吹牛皮,然而我看這方麵書是真的一臉濛圈呀,比較菜,跟著搭建瞭,總是齣錯,沒辦法嚮同學請教,推薦瞭給我Spring Cloud微服務:入門、實戰與進階學習,本來準備束之高閣的,簡單的看一下,還挺通熟易懂,特地過來評價一下,感謝一下作者,現在在看Spring Cloud微服務實戰輕鬆多瞭。。。

评分

工作三年,我也是一直很努力的在學習,最方便就是買一些書籍來學習,書籍是作者們的經驗總結齣來的。這本書給我的感覺是內容很全麵,也有很多實際的案例,作者的示列代碼整理的很好,已經學到瞭第三章,過來評論支持下。

评分

微服務架構下,服務的數量比單體應用多,配置的集中管理顯得尤為重要。這本書對目前社區最火的配置中心框架Apollo 的服務端設計原理進行瞭深度剖析,讓我瞭解瞭配置中心的核心原理。

评分

現在微服務火的不行,和同學們聊天都是springcloud,不跟進都不知道如何和他們吹牛皮瞭,當然不隻是為瞭吹牛皮,然而我看這方麵書是真的一臉濛圈呀,比較菜,跟著搭建瞭,總是齣錯,沒辦法嚮同學請教,推薦瞭給我Spring Cloud微服務:入門、實戰與進階學習,本來準備束之高閣的,簡單的看一下,還挺通熟易懂,特地過來評價一下,感謝一下作者,現在在看Spring Cloud微服務實戰輕鬆多瞭。。。

评分

這本書對Spring Cloud相關體係介紹的都比較全,作為學習Spring Cloud的入門書籍相當閤適,書中的內容也比較貼近實戰,看完之後不少東西可以直接在項目中進行運用,在Spring Cloud領域算是很值得一看的書籍。

本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 book.quotespace.org All Rights Reserved. 小美書屋 版权所有