Spring Cloud 微服務架構實戰
周喜平
- 出版商: 人民郵電
- 出版日期: 2022-09-01
- 定價: $419
- 售價: 8.5 折 $356
- 語言: 簡體中文
- 頁數: 286
- ISBN: 7115597693
- ISBN-13: 9787115597694
-
相關分類:
Microservices 微服務、SOA、Java 相關技術
立即出貨
買這商品的人也買了...
-
$580$452 -
$352React 進階之路
-
$505Spring 實戰, 5/e (Spring in Action, 5/e)
-
$505Spring Cloud 微服務架構實戰
-
$607精通Spring Cloud微服務架構
-
$580$458 -
$454Spring Cloud 微服務架構實戰派
-
$500$395 -
$620$484 -
$479$455 -
$1,000$850 -
$560Spring 微服務實戰, 2/e
-
$2,043Aws Security
-
$551Spring Cloud 微服務快速上手
-
$650$507 -
$654$621 -
$659$626 -
$580$458 -
$680$537 -
$580$458 -
$680$530 -
$680$530 -
$680$530 -
$800$632 -
$650$507
相關主題
商品描述
本書以實戰化訓練為宗旨,用詳盡的案例講述 Spring Cloud 的項目搭建方法和常用技術。每個案例都配有詳細講解和代碼,可以幫助讀者快速掌握書中的各個知識點。本書首先介紹系統架構的發展歷史、常見的微服務架構、Spring Boot 和 Spring Cloud 的關系;然後介紹Spring Cloud 開發環境的搭建,如 JDK、IntelliJ IDEA、Maven 的安裝和配置;繼而介紹微服務環境的創建、微服務項目案例的搭建和微服務的調用;最後介紹常用的微服務技術,如 Eureka、Ribbon、Feign、Hystrix、Spring Cloud Gateway、Spring Cloud Stream 和 Spring Cloud Config。
本書適合具備 Java 基礎的開發人員、對微服務架構和 Spring Cloud 感興趣的讀者、想要瞭解 Spring 或Spring Cloud 的開發人員閱讀。對嘗試選擇或實施微服務架構的團隊來說,本書具有較高的參考價值。
作者簡介
周喜平,教授,研究方向为软件工程、软件开发技术。河南省优秀教师,河南省教育厅学术带头人,河南省高等学校计算机类专业教学指导委员会委员。发表论文30余篇,出版专著7部,主持和参与科研项目20余项,其中“河南省外经贸厅办工自动化系统”“电力及施工企业固定资产管理系统”“惠农资金管理系统”“地市级居民医疗保险信息管理系统”“纯电动汽车高并发数据采集平台”“基于标准分的教师评教系统”“智慧消防云平台”等项目均采用Java工具实现。
目錄大綱
001 第 1 章 認識微服務
002 1.1 系統架構的發展歷史
002 1.1.1 單體架構
003 1.1.2 垂直架構
003 1.1.3 分佈式架構
004 1.1.4 面向服務的架構
004 1.1.5 微服務架構
005 1.2 常見的微服務架構
006 1.2.1 Spring Cloud
008 1.2.2 Dubbo
009 1.2.3 Dropwizard
009 1.2.4 Cricket
009 1.2.5 Jersey
009 1.2.6 Play
009 1.3 Spring Boot 和 Spring Cloud 的關系
010 1.3.1 認識 Spring Boot
011 1.3.2 Spring Boot 整合 Spring Cloud
013 第 2 章 準備開發環境
014 2.1 Java 開發環境 JDK
014 2.1.1 下載 JDK
016 2.1.2 安裝 JDK
018 2.1.3 配置 Java 環境變量
019 2.2 開發工具 IntelliJ IDEA
019 2.2.1 下載 IntelliJ IDEA
020 2.2.2 安裝 IntelliJ IDEA
026 2.3 項目管理工具 Maven
027 2.3.1 下載 Maven
028 2.3.2 安裝 Maven
028 2.3.3 配置 Maven 環境變量
029 2.3.4 配置 Maven 本地倉庫和下載源
030 2.3.5 與 IntelliJ IDEA 集成
031 第 3 章 貫穿案例
032 3.1 數據庫
033 3.2 創建工程
033 3.2.1 創建父工程
035 3.2.2 創建子工程—用戶微服務
040 3.2.3 創建子工程—商品微服務
045 3.2.4 創建子工程—訂單微服務
049 3.3 使用 Postman 測試微服務
049 3.3.1 測試新增
050 3.3.2 測試查詢全部
050 3.3.3 測試根據 id 查詢單個
051 3.3.4 測試修改
052 3.3.5 測試刪除
053 3.4 調用微服務
053 3.4.1 介紹 RestTemplate 類
053 3.4.2 使用 RestTemplate 調用微服務
054 3.4.3 分析硬編碼存在的問題
055 第 4 章 Eureka 服務註冊和發現
056 4.1 認識 Eureka
056 4.1.1 服務註冊和服務發現
057 4.1.2 註冊中心
059 4.1.3 Eureka 框架的原理
060 4.2 使用 Eureka
060 4.2.1 搭建 Eureka 註冊中心
063 4.2.2 將服務註冊到 Eureka 註冊中心
064 4.2.3 使用 Eureka 的元數據完成服務調用
065 4.3 Eureka 服務端高可用集群
066 4.3.1 搭建 Eureka 服務端高可用集群
068 4.3.2 將服務註冊到 Eureka 服務端集群
070 4.4 Eureka 常見問題
070 4.4.1 服務註冊慢
070 4.4.2 服務節點剔除問題
071 4.4.3 監控頁面顯示 IP 地址信息
071 4.5 Eureka 源碼解析
072 4.5.1 服務註冊表
073 4.5.2 服務註冊
075 4.5.3 接收服務心跳
076 4.5.4 服務剔除
078 4.5.5 服務下線
080 4.5.6 集群同步
084 4.5.7 獲取註冊表中服務實例的信息
089 第 5 章 基於 Ribbon 服務調用
090 5.1 認識 Ribbon
090 5.1.1 微服務之間的交互
091 5.1.2 Ribbon 的兩個主要作用
091 5.1.3 客戶端的負載均衡
093 5.2 基於 Ribbon 實現負載均衡調用
093 5.2.1 坐標依賴
094 5.2.2 工程改造
097 5.2.3 代碼測試
098 5.3 Ribbon 源碼解析
098 5.3.1 配置和實例初始化
100 5.3.2 負載均衡器
102 5.3.3 ILoadBalancer 的實現
105 5.3.4 負載均衡策略實現
115 第 6 章 基於 Feign 服務調用
116 6.1 認識 Feign
116 6.1.1 Java 項目中接口的調用方式
117 6.1.2 Feign 和 Ribbon 的關系
117 6.2 使用 Feign 實現服務調用
117 6.2.1 坐標依賴
117 6.2.2 工程改造
119 6.2.3 代碼測試
120 6.3 Feign 自定義配置和使用
120 6.3.1 日誌配置
122 6.3.2 超時時間配置
122 6.3.3 客戶端組件配置
123 6.3.4 壓縮配置
124 6.3.5 使用配置文件自定義 Feign 的配置
125 6.4 源碼分析
125 6.4.1 核心組件與概念
126 6.4.2 動態註冊 BeanDefinition
133 6.4.3 實例初始化
136 6.4.4 函數調用和網絡請求
143 第 7 章 Hystrix 服務熔斷
144 7.1 認識 Hystrix
144 7.1.1 雪崩效應
145 7.1.2 線程隔離
146 7.1.3 服務熔斷
147 7.2 使用 REST 實現服務熔斷
147 7.2.1 坐標依賴
147 7.2.2 工程改造
150 7.2.3 代碼測試
150 7.3 使用 Feign 實現服務熔斷
151 7.3.1 坐標依賴
151 7.3.2 工程改造
153 7.3.3 代碼測試
153 7.4 使用 Hystrix 實現監控
154 7.4.1 使用 Hystrix Dashboard 查看監控數據
157 7.4.2 使用 Hystrix Turbine 聚合監控數據
159 7.4.3 斷路器的狀態
162 7.4.4 斷路器的隔離策略
163 7.5 源碼分析
164 7.5.1 封裝 HystrixCommand
169 7.5.2 斷路器邏輯
175 第 8 章 Spring Cloud Gateway 服務網關
176 8.1 認識 Spring Cloud Gateway
177 8.1.1 微服務網關概述
178 8.1.2 微服務網關工作流程
178 8.2 實現服務網關
179 8.2.1 創建子工程——服務網關
179 8.2.2 坐標依賴
179 8.2.3 工程改造
182 8.2.4 代碼測試
183 8.3 路由規則
183 8.3.1 路由規則概述
188 8.3.2 動態路由
189 8.3.3 重寫轉發路徑
191 8.4 過濾器
191 8.4.1 過濾器基礎
192 8.4.2 局部過濾器
194 8.4.3 全局過濾器
196 8.5 網關限流
197 8.5.1 常見的限流算法
197 8.5.2 基於過濾器的限流
201 8.5.3 基於 Sentinel 的限流
205 8.6 源碼解析
206 8.6.1 初始化配置
207 8.6.2 網關處理器
209 8.6.3 路由定義定位器
211 8.6.4 路由定位器
211 8.6.5 路由斷言
212 8.6.6 網關過濾器
213 8.6.7 全局過濾器
213 8.6.8 API 端點
215 第 9 章 Spring Cloud Stream 消息驅動
216 9.1 認識 Spring Cloud Stream
216 9.1.1 消息隊列
218 9.1.2 綁定器
219 9.1.3 發布訂閱模式
220 9.2 實現消息驅動
220 9.2.1 安裝 RabbitMQ
224 9.2.2 消息生產者
226 9.2.3 消息消費者
229 9.2.4 自定義消息通道
231 9.3 消費者組
232 9.3.1 工程改造
234 9.3.2 代碼測試
234 9.4 消費分區
235 9.4.1 工程改造
237 9.4.2 代碼測試
238 9.5 源碼解析
239 9.5.1 動態註冊 BeanDefinition
241 9.5.2 消息發送的流程
243 9.5.3 @StreamListener 註解的處理
249 第 10 章 Spring Cloud Config 分佈式配置中心
250 10.1 認識 Spring Cloud Config
251 10.1.1 配置中心概述
251 10.1.2 其他配置中心
251 10.2 實現配置中心
251 10.2.1 配置管理
254 10.2.2 服務端
257 10.2.3 客戶端
259 10.2.4 配置刷新
264 10.3 服務總線
264 10.3.1 消息代理
265 10.3.2 工程改造
270 10.4 源碼解析
271 10.4.1 配置服務器
280 10.4.2 配置客戶端