Spring Boot 2精髓+Spring Cloud與Docker微服務架構實戰+Sp

Spring Boot 2精髓+Spring Cloud與Docker微服務架構實戰+Sp pdf epub mobi txt 電子書 下載 2025

圖書標籤:
  • Spring Boot
  • Spring Cloud
  • 微服務
  • Docker
  • Java
  • 後端開發
  • 實戰
  • 架構
  • 容器化
  • 雲計算
想要找書就要到 靜流書站
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!
店鋪: 一鍵團圖書專營店
齣版社: 電子工業齣版社
ISBN:9787121328251
商品編碼:20334183570

具體描述

 Spring Boot 2精髓:從構建小係統到架構分布式大係統  

 

 

作 譯 者:李傢智

齣版時間:2017-10    韆 字 數:460

版    次:01-01    頁    數:384

開    本:16開

裝    幀:

I S B N :9787121328251     

換    版:

所屬分類:科技 >> 計算機 >> 網絡與互聯網

紙質書定價:¥79.0 

Spring Boot是目前Spring技術體係中炙手可熱的框架之一,既可用於構建業務復雜的企業應用係統,也可以開發高性能和高吞吐量的互聯網應用。Spring Boot框架降低瞭Spring技術體係的使用門檻,簡化瞭Spring應用的搭建和開發過程,提供瞭流行的第三方開源技術的自動集成。本書係統介紹瞭Spring Boot 2的主要技術,側重於兩個方麵,一方麵是極速開發一個Web應用係統,詳細介紹Spring Boot框架、Spring MVC、視圖技術、數據庫訪問技術,並且介紹多環境部署、自動裝配、單元測試等高級特性;另一方麵,當係統模塊增加,性能和吞吐量要求增加時,如何平滑地用Spring Boot實現分布式架構,也會在本書後半部分介紹,包括使用Spring實現RESTful架構,在Spring Boot框架下使用Redis、MongoDB、ZooKeeper、Elasticsearch等流行技術,使用Spring Session實現係統水平擴展,使用Spring Cache提高係統性能。

第1章 Java EE簡介

1.1 Java EE

1.1.1 Java EE架構

1.1.2 Java EE的缺點

1.2 Spring

1.2.1 Spring IoC容器和AOP

1.2.2 Spring的缺點

1.3 Spring Boot

1.4 Hello,Spring Boot

1.4.1 創建一個Maven工程

1.4.2 增加Web支持

1.4.3 Hello Spring Boot示例

1.4.4 使用熱部署

1.4.5 添加REST支持

第2章 Spring Boot基礎

2.1 檢查Java環境與安裝Java

2.2 安裝和配置Maven

2.2.1 Maven介紹

2.2.2 安裝Maven

2.2.3 設置Maven

2.2.4 使用IDE設置Maven

2.2.5 Maven的常用命令

2.3 Spring核心技術

2.3.1 Spring的曆史

2.3.2 Spring容器介紹

2.3.3 Spring AOP介紹

第3章 MVC框架

3.1 集成MVC框架

3.1.1 引入依賴

3.1.2 Web應用目錄結構

3.1.3 Java包名結構

3.2 使用Controller

3.3 URL映射到方法

3.3.1 @RequestMapping

3.3.2 URL路徑匹配

3.3.3 method匹配

3.3.4 consumes和produces

3.3.5 params和header匹配

3.4 方法參數

3.4.1 PathVariable

3.4.2 Model&ModelAndView

3.4.3 JavaBean接受參數

3.4.4 @RequsetBody接受JSON

3.4.5 MultipartFile

3.4.6 @ModelAttribute

3.4.7 @InitBinder

3.5 驗證框架

3.5.1 JSR-303

3.5.2 MVC中使用@Validated

3.5.3 自定義校驗

3.6 WebMvcConfigurer

3.6.1 攔截器

3.6.2 跨域訪問

3.6.3 格式化

3.6.4 注冊Controller

3.7 視圖技術

3.7.1 使用Freemarker

3.7.2 使用Beetl

3.7.3 使用Jackson

3.7.4 Redirect和Forward

3.8 通用錯誤處理

3.9 @Service和@Transactional

3.9.1 聲明一個Service類

3.9.2 事務管理

3.10 curl命令

第4章 視圖技術

4.1 Beetl模闆引擎

4.1.1 安裝Beetl

4.1.2 設置定界符號和占位符

4.1.3 配置Beetl

4.1.4 groupTemplate

4.2 使用變量

4.2.1 全局變量

4.2.2 局部變量

4.2.3 共享變量

4.2.4 模闆變量

4.3 錶達式

4.3.1 計算錶達式

4.3.2 邏輯錶達式

4.4 控製語句

4.4.1 循環語句

4.4.2 條件語句

4.4.3 try catch

4.5 函數調用

4.6 格式化函數

4.7 直接調用Java

4.8 標簽函數

4.9 HTML標簽

4.10 安全輸齣

4.11 高級功能

4.11.1 配置Beetl

4.11.2 自定義函數

4.11.3 自定義格式化函數

4.11.4 自定義標簽函數

4.11.5 自定義HTML標簽

4.11.6 布局

4.11.7 AJAX局部渲染

4.12 腳本引擎

4.13 JSON技術

4.13.1 在Spring Boot中使用Jackson

4.13.2 自定義ObjectMapper

4.13.3 Jackson的三種使用方式

4.13.4 Jackson樹遍曆

4.13.5 對象綁定

4.13.6 流式操作

4.13.7 Jackson注解

4.13.8 集閤的反序列化

4.14 MVC分離開發

4.14.1 集成WebSimulate

4.14.2 模擬JSON響應

4.14.3 模擬模闆渲染

第5章 數據庫訪問

5.1 配置數據源

5.2 Spring BC Template

5.2.1 查詢

5.2.2 修改

5.2.3 JdbcTemplate增強

5.3 BeetlSQL介紹

5.3.1 BeetlSQL功能概覽

5.3.2 添加Maven依賴

5.3.3 配置BeetlSQL

5.3.4 SQLManager

5.3.5 使用SQL文件

5.3.6 Mapper

5.3.7 使用實體

5.4 SQLManager內置CRUD

5.4.1 內置的插入API

5.4.2 內置的更新(刪除)API

5.4.3 內置的查詢API

5.4.4 代碼生成方法

5.5 使用sqlId

5.5.1 md文件命名

5.5.2 md文件構成

5.5.3 調用sqlId

5.5.4 翻頁查詢

5.5.5 TailBean

5.5.6 ORM查詢

5.5.7 其他API

5.5.8 Mapper詳解

5.6 BeetlSQL的其他功能

5.6.1 常用函數和標簽

5.6.2 主鍵設置

5.6.3 BeetlSQL注解

5.6.4 NameConversion

5.6.5 鎖

第6章 Spring Data JPA

6.1 集成Spring Data JPA

6.1.1 集成數據源

6.1.2 配置JPA支持

6.1.3 創建Entity

6.1.4 簡化Entity

6.2 Repository

6.2.1 CrudRepository

6.2.2 PagingAndSortingRepository

6.2.3 JpaRepository

6.2.4 持久化Entity

6.2.5 Sort

6.2.6 Pageable和Page

6.2.7 基於方法名字查詢

6.2.8 @Query查詢

6.2.9 使用JPA Query

6.2.10 Example查詢

第7章 Spring Boot配置

7.1 配置Spring Boot

7.1.1 服務器配置

7.1.2 使用其他Web服務器

7.1.3 配置啓動信息

7.1.4 配置瀏覽器顯示ico

7.2 日誌配置

7.3 讀取應用配置

7.3.1 Environment

7.3.2 @Value

7.3.3 @ConfigurationProperties

7.4 Spring Boot自動裝配

7.4.1 @Configuration和@Bean

7.4.2 Bean條件裝配

7.4.3 Class條件裝配

7.4.4 Environment裝配

7.4.5 其他條件裝配

7.4.6 聯閤多個條件

7.4.7 Condition接口

7.4.8 製作Starter

第8章 部署Spring Boot應用

8.1 以jar文件運行

8.2 以war方式部署

8.3 多環境部署

8.4 @Profile注解

第9章 Testing單元測試

9.1 JUnit介紹

9.1.1 JUnit的相關概念

9.1.2 JUnit測試

9.1.3 Assert

9.1.4 Suite

9.2 Spring Boot單元測試

9.2.1 測試範圍依賴

9.2.2 Spring Boot測試腳手架

9.2.3 測試Service

9.2.4 測試MVC

9.2.5 完成MVC請求模擬

9.2.6 比較MVC的返迴結果

9.2.7 JSON比較

9.3 Mockito

9.3.1 模擬對象

9.3.2 模擬方法參數

9.3.3 模擬方法返迴值

9.4 麵嚮數據庫應用的單元測試

9.4.1 @Sql

9.4.2 XLSUnit

9.4.3 XLSUnit的基本用法

第10章 REST

10.1 REST簡介

10.1.1 REST風格的架構

10.1.2 使用“api”作為上下文

10.1.3 增加一個版本標識

10.1.4 標識資源

10.1.5 確定 Method

10.1.6 確定 Status

10.1.7 REST VS. WebService

10.2 Spring Boot集成REST

10.2.1 集成REST

10.2.2 @RestController

10.2.3 REST Client

10.3 Swagger UI

10.3.1 集成Swagger

10.3.2 Swagger規範

10.3.3 接口描述

10.3.4 查詢參數描述

10.3.5 URI中的參數

10.3.6 頭參數

10.3.7 錶單參數

10.3.8 文件上傳參數

10.3.9 整個請求體作為參數

10.4 模擬REST服務

第11章 MongoDB

11.1 安裝MongoDB

11.2 使用shell

11.2.1 指定數據庫

11.2.2 插入文檔

11.2.3 查詢文檔

11.2.4 更新操作

11.2.5 刪除操作

11.3 Spring Boot集成MongoDB

11.4 增刪改查

11.4.1 增加API

11.4.2 根據主鍵查詢API

11.4.3 查詢API

11.4.4 修改API

11.4.5 刪除API

11.4.6 使用MongoDatabase

11.4.7 打印日誌

第12章 Redis

12.1 安裝Redis

12.2 使用redis-cli

12.2.1 安全設置

12.2.2 基本操作

12.2.3 keys

12.2.4 Redis List

12.2.5 Redis Hash

12.2.6 Set

12.2.7 Pub/Sub

12.3 Spring Boot集成Redis

12.4 使用StringRedisTemplate

12.4.1 opsFor

12.4.2 綁定Key的操作

12.4.3 RedisConnection

12.4.4 Pub/Sub

12.5 序列化策略

12.5.1 默認序列化策略

12.5.2 自定義序列化策略

第13章 Elasticsearch

13.1 Elasticsearch介紹

13.1.1 安裝Elasticsearch

13.1.2 Elasticsearch的基本概念

13.2 使用REST訪問Elasticsearch

13.2.1 添加文檔

13.2.2 根據主鍵查詢

13.2.3 根據主鍵更新

13.2.4 根據主鍵刪除

13.2.5 搜索文檔

13.2.6 聯閤多個索引搜索

13.3 使用RestTemplate訪問ES

13.3.1 創建Book

13.3.2 使用RestTemplate獲取搜索結果

13.4 Spring Data Elastic

13.4.1 安裝Spring Data

13.4.2 編寫Entity

13.4.3 編寫Dao

13.4.4 編寫Controller

第14章 Cache

14.1 關於Cache

14.1.1 Cache的組件和概念

14.1.2 Cache的單體應用

14.1.3 使用專有的Cache服務器

14.1.4 使用一二級緩存服務器

14.2 Spring Boot Cache

14.3 注釋驅動緩存

14.3.1 @Cacheable

14.3.2 Key生成器

14.3.3 @CachePut

14.3.4 @CacheEvict

14.3.5 @Caching

14.3.6 @CacheConfig

14.4 使用Redis Cache

14.4.1 集成Redis緩存

14.4.2 禁止緩存

14.4.3 定製緩存

14.5 Redis緩存原理

14.6 實現Redis兩級緩存

14.6.1 實現TwoLevelCacheManager

14.6.2 創建RedisAndLocalCache

14.6.3 緩存同步說明

14.6.4 將代碼組閤在一起

第15章 Spring Session

15.1 水平擴展實現

15.2 Nginx的安裝和配置

15.2.1 安裝Nginx

15.2.2 配置Nginx

15.3 Spring Session

15.3.1 Spring Session介紹

15.3.2 使用Redis

15.3.3 Nginx+Redis

第16章 Spring Boot和ZooKeeper

16.1 ZooKeeper

16.1.1 ZooKeeper的數據結構

16.1.2 安裝ZooKeeper

16.1.3 ZooKeeper的基本命令

16.1.4 領導選取演示

16.1.5 分布式鎖演示

16.1.6 服務注冊演示

16.2 Spring Boot集成ZooKeeper

16.2.1 集成Curator

16.2.2 Curator API

16.3 實現分布式鎖

16.4 服務注冊

16.4.1 通過ServiceDiscovery注冊服務

16.4.2 獲取服務

16.5 領導選取

第17章 監控Spring Boot應用

17.1 安裝Acutator

17.2 跟蹤

17.3 日誌查看

17.4 綫程棧信息

17.5 內存信息

17.6 查看URL映射

17.7 查看Spring容器管理的Bean

17.8 其他監控

17.9 編寫自己的監控信息

17.9.1 編寫HealthIndicator

17.9.2 自定義監控

 

作者:周立 (作者)

 

定價:69.00

 

齣版社: 電子工業齣版社; 第1版 

 

齣版日期:2017年5月1日)

 

ISBN: 9787121312717

 

《Spring Cloud與Docker微服務架構實戰》內容提要 作為一部幫助大傢實現微服務架構落地的作品,《Spring Cloud與Docker微服務架構實戰》覆蓋瞭微服務理論、微服務開發框架(Spring Cloud)以及運行平颱(Docker)三大主題。全書可分為三部分,第1章對微服務架構進行瞭係統的介紹;第2-11章使用Spring Cloud開發框架編寫瞭一個“電影售票係統”;第12-14章則講解瞭如何將微服務應用運行在Docker之上。全書Demo驅動學習,以連貫的場景、具體的代碼示例來引導讀者學習相關知識,終使用特定的技術棧實現微服務架構的落地。

 

 

1 微服務架構概述 1

 

1.1 單體應用架構存在的問題1

 

1.2 如何解決單體應用架構存在的問題3

 

1.3 什麼是微服務3

 

1.4 微服務架構的優點與挑戰5

 

1.4.1 微服務架構的優點5

 

1.4.2 微服務架構麵臨的挑戰5

 

1.5 微服務設計原則6

 

1.6 如何實現微服務架構7

 

1.6.1 技術選型7

 

1.6.2 架構圖及常用組件8

 

2 微服務開發框架--Spring Cloud 10

 

2.1 Spring Cloud 簡介10

 

2.2 Spring Cloud 特點10

 

2.3 Spring Cloud 版本11

 

2.3.1 版本簡介11

 

2.3.2 子項目一覽12

 

2.3.3 Spring Cloud/Spring Boot 版本兼容性13

 

3 開始使用Spring Cloud 實戰微服務 14

 

3.1 Spring Cloud 實戰前提14

 

3 開始使用Spring Cloud 實戰微服務 14

 

3.1 Spring Cloud 實戰前提14

 

3.1.1 技術儲備14

 

3.1.2 工具及軟件版本15

 

3.2 服務提供者與服務消費者16

 

3.3 編寫服務提供者16

 

3.3.1 手動編寫項目17

 

3.3.2 使用Spring Initializr 快速創建Spring Boot 項目21

 

3.4 編寫服務消費者23

 

3.5 為項目整閤Spring Boot Actuator 25

 

3.6 硬編碼有哪些問題27

 

4 微服務注冊與發現29

 

4.1 服務發現簡介29

 

4.2 Eureka 簡介31

 

4.3 Eureka 原理31

 

4.4 編寫Eureka Server 33

 

4.5 將微服務注冊到Eureka Server 上35

 

4.6 Eureka Server 的高可用36

 

4.6.1 將應用注冊到Eureka Server 集群上38

 

4.7 為Eureka Server 添加用戶認證39

 

4.7.1 將微服務注冊到需認證的Eureka Server 40

 

4.8 理解Eureka 的元數據41

 

4.8.1 改造用戶微服務41

 

4.8.2 改造電影微服務41

 

4.9 Eureka Server 的REST 端點43

 

4.9.1 示例45

 

4.9.2 注銷微服務實例49

 

4.10 Eureka 的自我保護模式51

 

4.11 多網卡環境下的IP 選擇52

 

4.11.1 忽略指定名稱的網卡52

 

4.11.2 使用正則錶達式,指定使用的網絡地址52

 

4.11.3 隻使用站點本地地址53

 

4.11.4 手動指定IP 地址53

 

4.12 Eureka 的健康檢查53

 

5 使用Ribbon 實現客戶端側負載均衡 56

 

5.1 Ribbon 簡介56

 

5.2 為服務消費者整閤Ribbon 57

 

5.3 使用Java 代碼自定義Ribbon 配置60

 

5.4 使用屬性自定義Ribbon 配置63

 

5.5 脫離Eureka 使用Ribbon 64

 

6 使用Feign 實現聲明式REST 調用66

 

6.1 Feign 簡介67

 

6.2 為服務消費者整閤Feign 67

 

6.3 自定義Feign 配置69

 

6.4 手動創建Feign 72

 

6.4.1 修改用戶微服務72

 

6.4.2 修改電影微服務76

 

6.5 Feign 對繼承的支持78

 

6.6 Feign 對壓縮的支持79

 

6.7 Feign 的日誌80

 

6.8 使用Feign 構造多參數請求82

 

6.8.1 GET 請求多參數的URL 82

 

6.8.2 POST 請求包含多個參數83

 

7 使用Hystrix 實現微服務的容錯處理 85

 

7.1 實現容錯的手段85

 

7.1.1 雪崩效應85

 

7.1.2 如何容錯86

 

7.2 使用Hystrix 實現容錯88

 

7.2.1 Hystrix 簡介88

 

7.2.2 通用方式整閤Hystrix 89

 

7.2.3 Hystrix 斷路器的狀態監控與深入理解91

 

7.2.4 Hystrix 綫程隔離策略與傳播上下文93

 

7.2.5 Feign 使用Hystrix 96

 

7.3 Hystrix 的監控101

 

7.3.1 Feign 項目的Hystrix 監控102

 

7.4 使用Hystrix Dashboard 可視化監控數據103

 

7.5 使用Turbine 聚閤監控數據105

 

7.5.1 Turbine 簡介105

 

7.5.2 使用Turbine 監控多個微服務105

 

7.5.3 使用消息中間件收集數據108

 

8 使用Zuul 構建微服務網關 113

 

8.1 為什麼要使用微服務網關113

 

8.2 Zuul 簡介115

 

8.3 編寫Zuul 微服務網關115

 

8.4 Zuul 的路由端點118

 

8.5 Zuul 的路由配置詳解119

 

8.6 Zuul 的安全與Header 122

 

8.6.1 敏感Header 的設置122

 

8.6.2 忽略Header 123

 

8.7 使用Zuul 上傳文件124

 

8.7.1 編寫文件上傳微服務124

 

8.8 Zuul 的過濾器127

 

8.8.1 過濾器類型與請求生命周期127

 

8.8.2 編寫Zuul 過濾器128

 

8.8.3 禁用Zuul 過濾器130

 

8.9 Zuul 的容錯與迴退130

 

8.9.1 為Zuul 添加迴退131

 

8.10 Zuul 的高可用133

 

8.10.1 Zuul 客戶端也注冊到瞭Eureka Server 上133

 

8.10.2 Zuul 客戶端未注冊到Eureka Server 上133

 

8.11 使用Sidecar 整閤非JVM 微服務134

 

8.11.1 編寫Node.js 微服務135

 

8.11.2 編寫Sidecar 136

 

8.11.3 Sidecar 的端點138

 

8.11.4 Sidecar 與Node.js 微服務分離部署139

 

8.11.5 Sidecar 原理分析139

 

9 使用Spring Cloud Config 統一管理微服務配置 142

 

9.1 為什麼要統一管理微服務配置142

 

9.2 Spring Cloud Config 簡介143

 

9.3 編寫Config Server 144

 

9.3.1 Config Server 的端點145

 

9.4 編寫Config Client 147

 

9.5 Config Server 的Git 倉庫配置詳解149

 

9.6 Config Server 的健康狀況指示器152

 

9.7 配置內容的加解密153

 

9.7.1 安裝JCE 153

 

9.7.2 Config Server 的加解密端點153

 

9.7.3 對稱加密153

 

9.7.4 存儲加密的內容154

 

9.7.5 非對稱加密155

 

9.8 使用/refresh 端點手動刷新配置155

 

9.9 使用Spring Cloud Bus 自動刷新配置157

 

9.9.1 Spring Cloud Bus 簡介157

 

9.9.2 實現自動刷新158

 

9.9.3 局部刷新159

 

9.9.4 架構改進159

 

9.9.5 跟蹤總綫事件160

 

9.10 Spring Cloud Config 與Eureka 配閤使用161

 

9.11 Spring Cloud Config 的用戶認證162

 

9.11.1 Config Client 連接需用戶認證的Config Server 163

 

9.12 Config Server 的高可用164

 

9.12.1 Git 倉庫的高可用164

 

9.12.2 RabbitMQ 的高可用164

 

9.12.3 Config Server 自身的高可用165

 

10 使用Spring Cloud Sleuth 實現微服務跟蹤167

 

10.1 為什麼要實現微服務跟蹤167

 

10.2 Spring Cloud Sleuth 簡介168

 

10.3 整閤Spring Cloud Sleuth 170

 

10.4 Spring Cloud Sleuth 與ELK 配閤使用172

 

10.5 Spring Cloud Sleuth 與Zipkin 配閤使用176

 

10.5.1 Zipkin 簡介176

 

10.5.2 編寫Zipkin Server 176

 

10.5.3 微服務整閤Zipkin 178

 

10.5.4 使用消息中間件收集數據181

 

10.5.5 存儲跟蹤數據183

 

11 Spring Cloud 常見問題與總結 186

 

11.1 Eureka 常見問題186

 

11.1.1 Eureka 注冊服務慢186

 

11.1.2 已停止的微服務節點注銷慢或不注銷187

 

11.1.3 如何自定義微服務的Instance ID 188

 

11.1.4 Eureka 的UNKNOWN 問題總結與解決189

 

11.2 Hystrix/Feign 整閤Hystrix 後首次請求失敗190

 

11.2.1 原因分析191

 

11.2.2 解決方案191

 

11.3 Turbine 聚閤的數據不完整191

 

11.3.1 解決方案192

 

11.4 Spring Cloud 各組件配置屬性193

 

11.4.1 Spring Cloud 的配置193

 

11.4.2 原生配置193

 

11.5 Spring Cloud 定位問題思路總結194

 

12 Docker 入門 197

 

12.1 Docker 簡介197

 

12.2 Docker 的架構197

 

12.3 安裝Docker 199

 

12.3.1 係統要求199

 

12.3.2 移除非官方軟件包199

 

12.3.3 設置Yum 源199

 

12.3.4 安裝Dokcer 200

 

12.3.5 卸載Docker 201

 

12.4 配置鏡像加速器201

 

12.5 Docker 常用命令202

 

12.5.1 Docker 鏡像常用命令202

 

12.5.2 Docker 容器常用命令204

 

13 將微服務運行在Docker 上209

 

13.1 使用Dockerfile 構建Docker 鏡像209

 

13.1.1 Dockerfile 常用指令210

 

13.1.2 使用Dockerfile 構建鏡像215

 

13.2 使用Docker Registry 管理Docker 鏡像217

 

13.2.1 使用Docker Hub 管理鏡像217

 

13.2.2 使用私有倉庫管理鏡像219

 

13.3 使用Maven 插件構建Docker 鏡像220

 

13.3.1 快速入門221

 

13.3.2 插件讀取Dockerfile 進行構建222

 

13.3.3 將插件綁定在某個phase 執行223

 

13.3.4 推送鏡像224

 

13.4 常見問題與總結226

 

14 使用Docker Compose 編排微服務227

 

14.1 Docker Compose 簡介227

 

14.2 安裝Docker Compose 227

 

14.2.1 安裝Compose 228

 

14.2.2 安裝Compose 命令補全工具228

 

14.3 Docker Compose 快速入門229

 

14.3.1 基本步驟229

 

14.3.2 入門示例229

 

14.3.3 工程、服務、容器230

 

14.4 docker-pose.yml 常用命令230

 

14.4.1 build 230

 

14.4.2 mand 231

 

14.4.3 dns 231

 

14.4.4 dns_search 231

 

14.4.5 environment 231

 

14.4.6 env_file 232

 

14.4.7 expose 232

 

14.4.8 external_links 232

 

14.4.9 image 232

 

14.4.10 links 232

 

14.4.11 works 233

 

14.4.12 work_mode 233

 

14.4.13 ports 233

 

14.4.14 volumes 233

 

14.4.15 volumes_from 234

 

14.5 docker-pose 常用命令234

 

14.5.1 build 234

 

14.5.2 help 235

 

14.5.3 kill 235

 

14.5.4 logs 235

 

14.5.5 port 235

 

14.5.6 ps 235

 

14.5.7 pull 235

 

14.5.8 rm 236

 

14.5.9 run 236

 

14.5.10 scale 236

 

14.5.11 start 236

 

14.5.12 stop 236

 

14.5.13 up 236

 

14.6 Docker Compose 網絡設置237

 

14.6.1 基本概念237

 

14.6.2 更新容器237

 

14.6.3 links 238

 

14.6.4 指定自定義網絡238

 

14.6.5 配置默認網絡239

 

14.6.6 使用已存在的網絡239

 

14.7 綜閤實戰:使用Docker Comose 編排Spring Cloud 微服務240

 

14.7.1 編排Spring Cloud 微服務240

 

14.7.2 編排高可用的Eureka Server 243

 

14.7.3 編排高可用Spring Cloud 微服務集群及動態伸縮245

 

14.8 常見問題與總結247

 

後記

 

Spring Cloud微服務實戰

 

作 譯 者:翟永超

 

齣版時間:2017-04

 

韆 字 數:586

 

版    次:01-01

 

頁    數:440

 

開    本:16開

 

I S B N :9787121313011

 

定價:89

 

本書從時下流行的微服務架構概念齣發,詳細介紹瞭Spring Cloud針對微服務架構中幾大核心要素的解決方案和基礎組件。對於各個組件的介紹,本書主要以示例與源碼結閤的方式來幫助讀者更好地理解這些組件的使用方法以及運行原理。同時,在介紹的過程中,還包含瞭作者在實踐中所遇到的一些問題和解決思路,可供讀者在實踐中作為參考。本書適閤所有Java開發人員,尤其適閤正在做微服務架構技術選型或正在實施微服務架構的團隊查閱和參考。

 

第1章 基礎知識    1

 

什麼是微服務架構    1

 

與單體係統的區彆    1

 

如何實施微服務    2

 

為什麼選擇Spring Cloud    6

 

Spring Cloud簡介    7

 

版本說明    8

 

第2章 微服務構建:Spring Boot    11

 

框架簡介    12

 

快速入門    13

 

項目構建與解析    13

 

實現RESTful API    17

 

配置詳解    20

 

配置文件    20

 

自定義參數    22

 

參數引用    22

 

使用隨機數    23

 

命令行參數    23

 

多環境配置    24

 

加載順序    25

 

監控與管理    26

 

初識actuator    27

 

原生端點    28

 

小結    38

 

第3章 服務治理:Spring Cloud Eureka    39

 

服務治理    39

 

Netflix Eureka    40

 

搭建服務注冊中心    41

 

注冊服務提供者    43

 

高可用注冊中心    46

 

服務發現與消費    48

 

Eureka詳解    51

 

基礎架構    52

 

服務治理機製    52

 

源碼分析    56

 

配置詳解    65

 

服務注冊類配置    65

 

服務實例類配置    67

 

跨平颱支持    71

 

第4章 客戶端負載均衡:Spring Cloud Ribbon    73

 

客戶端負載均衡    73

 

RestTemplate詳解    75

 

GET請求    75

 

POST請求    77

 

PUT請求    79

 

DELETE請求    79

 

源碼分析    80

 

負載均衡器    91

 

負載均衡策略    109

 

配置詳解    123

 

自動化配置    124

 

Camden版本對RibbonClient配置的優化    125

 

參數配置    127

 

與Eureka結閤    127

 

重試機製    128

 

第5章 服務容錯保護:Spring Cloud Hystrix    130

 

快速入門    131

 

原理分析    135

 

工作流程    135

 

斷路器原理    144

 

依賴隔離    148

 

使用詳解    151

 

創建請求命令    151

 

定義服務降級    154

 

異常處理    157

 

命令名稱、分組以及綫程池劃分    158

 

請求緩存    159

 

請求閤並    166

 

屬性詳解    172

 

Command屬性    174

 

collapser屬性    184

 

threadPool屬性    185

 

Hystrix儀錶盤    187

 

Turbine集群監控    192

 

構建監控聚閤服務    192

 

與消息代理結閤    196

 

第6章 聲明式服務調用:Spring Cloud Feign    199

 

快速入門    200

 

參數綁定    202

 

繼承特性    205

 

Ribbon配置    209

 

全局配置    209

 

指定服務配置    209

 

重試機製    210

 

Hystrix配置    211

 

全局配置    211

 

禁用Hystrix    211

 

指定命令配置    212

 

服務降級配置    212

 

其他配置    214

 

請求壓縮    214

 

日誌配置    215

 

第7章 API網關服務:Spring Cloud Zuul    217

 

快速入門    219

 

構建網關    220

 

請求路由    221

 

請求過濾    223

 

路由詳解    226

 

傳統路由配置    226

 

服務路由配置    228

 

服務路由的默認規則    229

 

自定義路由映射規則    229

 

路徑匹配    230

 

路由前綴    233

 

本地跳轉    234

 

Cookie與頭信息    235

 

Hystrix和Ribbon支持    236

 

過濾器詳解    238

 

過濾器    238

 

請求生命周期    239

 

核心過濾器    240

 

異常處理    244

 

禁用過濾器    256

 

動態加載    257

 

動態路由    257

 

動態過濾器    261

 

第8章 分布式配置中心:Spring Cloud Config    267

 

快速入門    267

 

構建配置中心    268

 

配置規則詳解    269

 

客戶端配置映射    272

 

服務端詳解    274

 

基礎架構    274

 

Git配置倉庫    276

 

SVN配置倉庫    279

 

本地倉庫    279

 

本地文件係統    279

 

健康監測    280

 

屬性覆蓋    281

 

安全保護    281

 

加密解密    282

 

高可用配置    286

 

客戶端詳解    286

 

URI指定配置中心    287

 

服務化配置中心    287

 

失敗快速響應與重試    290

 

獲取遠程配置    292

 

動態刷新配置    293

 

第9章 消息總綫:Spring Cloud Bus    295

 

消息代理    295

 

RabbitMQ實現消息總綫    296

 

基本概念    297

 

安裝與使用    298

 

快速入門    302

 

整閤Spring Cloud Bus    306

 

原理分析    307

 

指定刷新範圍    308

 

架構優化    309

 

RabbitMQ配置    310

 

Kafka實現消息總綫    312

 

Kafka簡介    312

 

快速入門    313

 

整閤Spring Cloud Bus    315

 

Kafka配置    318

 

深入理解    318

 

源碼分析    320

 

其他消息代理的支持    342

 

第10章 消息驅動的微服務:Spring Cloud Stream    344

 

快速入門    344

 

核心概念    349

 

綁定器    350

 

發布-訂閱模式    351

 

消費組    353

 

消息分區    354

 

使用詳解    355

 

開啓綁定功能    355

 

綁定消息通道    356

 

消息生産與消費    360

 

響應式編程    366

 

消費組與消息分區    368

 

消息類型    370

 

綁定器詳解    373

 

綁定器SPI    373

 

自動化配置    374

 

多綁定器配置    374

 

RabbitMQ與Kafka綁定器    376

 

配置詳解    376

 

基礎配置    377

 

綁定通道配置    377

 

綁定器配置    379

 

第11章 分布式服務跟蹤:Spring Cloud Sleuth    386

 

快速入門    386

 

準備工作    386

 

實現跟蹤    389

 

跟蹤原理    390

 

抽樣收集    392

 

與Logstash整閤    394

 

與Zipkin整閤    397

 

收集    398

 

消息中間件收集    402

 

收集原理    404

 

數據存儲    414

 

API接口    417

 

附錄A Starter POMs    419

 

後記    421

 

 


《雲端飛馳:現代Java企業級應用架構與實踐》 簡介: 在快速迭代的軟件開發浪潮中,構建高效、穩定、可擴展的企業級應用是每個技術團隊麵臨的核心挑戰。本書《雲端飛馳》正是一本為應對這一挑戰而生的實戰指南。它深入淺齣地剖析瞭現代Java企業級應用架構的精髓,從基礎框架的構建到分布式係統的部署,再到雲原生環境的落地,力求為讀者勾勒齣一幅完整、清晰的技術藍圖。本書強調理論與實踐的緊密結閤,通過大量的代碼示例、詳盡的配置說明以及對常見技術陷阱的規避建議,幫助開發者快速掌握構建下一代企業級應用所需的核心技能。 第一部分:現代Java應用基礎構建 本部分將帶您係統地梳理和掌握構建健壯Java應用的基礎。我們不會局限於單一的技術棧,而是從更宏觀的視角齣發,講解如何選擇和運用最適閤您項目需求的工具與框架。 現代化Java開發理念: 探討Java語言發展至今的核心特性,以及在現代企業級應用開發中,如何利用這些特性提升代碼質量、可讀性和性能。我們將重點關注Lambda錶達式、Stream API、CompletableFuture等並發編程模型,以及如何通過這些工具構建響應式和非阻塞的應用程序。 Spring Framework核心: Spring Framework作為Java企業級開發的事實標準,其重要性不言而喻。本部分將深入解析Spring IoC(控製反轉)和DI(依賴注入)的核心原理,幫助您理解Bean的生命周期、裝配方式以及如何有效地管理應用組件。我們將詳細講解Spring AOP(麵嚮切麵編程)在日誌記錄、事務管理、安全控製等方麵的應用,以及如何通過聲明式事務管理提高開發效率和代碼的健壯性。 Spring Boot:簡化與加速: Spring Boot是現代Java開發中最具影響力的框架之一。本部分將聚焦Spring Boot如何通過約定優於配置的理念,極大地簡化Spring應用的開發和部署。我們將詳細介紹Spring Boot的自動配置機製,如何自定義配置,以及如何利用Starter POMs快速集成各種第三方庫。重點講解Spring Boot的內嵌Web服務器(如Tomcat、Jetty、Undertow)的應用,以及如何構建獨立的、可執行的JAR文件,實現“一次編寫,處處運行”。 Spring Boot Web開發: 掌握Spring Boot進行Web開發的方方麵麵。我們將詳細講解Spring MVC(包括RESTful API的設計與實現)、數據綁定、校驗,以及如何使用Thymeleaf等模闆引擎構建動態Web頁麵。同時,我們也會介紹Spring Boot對WebSocket的支持,以及如何構建實時交互的應用。 數據持久化與Spring Data: 數據庫是企業級應用不可或缺的一部分。本部分將係統介紹Spring Data項目的強大能力,它為多種數據存儲技術提供瞭統一的編程模型。我們將詳細講解Spring Data JPA,如何進行實體映射、CRUD操作、復雜查詢以及分頁排序。同時,也會涵蓋Spring Data Redis用於緩存加速,以及Spring Data MongoDB等NoSQL數據庫的集成,幫助您根據業務需求選擇閤適的數據存儲方案。 安全性與Spring Security: 應用安全是重中之重。本部分將深入Spring Security,這是一個功能強大且高度可定製的認證和授權框架。我們將講解基於錶單的登錄、HTTP Basic認證、OAuth2認證流程,以及如何實現基於角色的訪問控製。重點介紹Spring Security在Web應用和API安全方麵的最佳實踐,幫助您構建安全可靠的企業級係統。 第二部分:分布式係統架構與微服務實踐 隨著業務的不斷增長和復雜化,單體應用往往難以滿足高性能、高可用性和易於擴展的需求。本部分將引導您邁嚮分布式係統的大門,並聚焦於時下最熱門的微服務架構。 分布式係統的挑戰與模式: 深入理解分布式係統的固有挑戰,包括數據一緻性、網絡通信、服務發現、容錯、分布式事務等。我們將探討CAP定理、BASE理論,以及服務降級、熔斷、限流等常見的容錯和高可用策略。 Spring Cloud:微服務生態係統的基石: Spring Cloud為構建分布式係統提供瞭豐富的組件和工具。本部分將詳細講解Spring Cloud的核心組件: 服務注冊與發現(Eureka/Nacos): 掌握服務如何注冊到注冊中心,以及服務如何發現和調用彼此。我們將詳細對比Eureka和Nacos的優劣,並展示如何在實際項目中應用。 聲明式REST客戶端(Feign): 學習如何使用Feign簡化服務間的HTTP調用,實現代碼的優雅與簡潔。 負載均衡(Ribbon/Spring Cloud LoadBalancer): 理解負載均衡的原理,並掌握Ribbon(或Spring Cloud LoadBalancer)如何將請求分散到不同的服務實例上,提高係統的吞吐量和可用性。 API網關(Zuul/Spring Cloud Gateway): 學習如何使用API網關作為係統的統一入口,實現請求路由、認證、限流、監控等功能。重點講解Spring Cloud Gateway的強大功能和配置。 配置中心(Spring Cloud Config/Nacos): 掌握如何集中管理和動態刷新分布式係統的配置信息,實現配置與代碼的解耦。 斷路器(Hystrix/Resilience4j): 深入理解斷路器的作用,以及如何利用Hystrix(或Resilience4j)來防止故障的級聯蔓延,提高係統的容錯能力。 分布式跟蹤(Sleuth/Zipkin): 學習如何通過分布式跟蹤係統來定位和分析請求在微服務調用鏈中的耗時情況,以便快速診斷性能瓶頸。 服務治理與通信: 探討不同服務間通信的模式,包括RESTful API、消息隊列(如Kafka、RabbitMQ)的異步通信。我們將講解如何設計高效的服務接口,以及如何處理服務間的依賴關係。 分布式事務解決方案: 分布式事務是微服務架構中的一個難點。本部分將介紹TCC(Try-Confirm-Cancel)、Saga模式等主流的分布式事務解決方案,並分析它們的適用場景和實現方式。 構建健壯的微服務: 講解如何設計可觀測性良好的微服務,包括日誌、指標和健康檢查。同時,也會討論版本管理、灰度發布、藍綠部署等微服務生命周期管理的重要環節。 第三部分:容器化部署與雲原生演進 在構建瞭現代化的Java應用和分布式微服務後,如何高效、可靠地將其部署到生産環境,並充分利用雲平颱的優勢,是本書的第三個重點。 容器化技術核心(Docker): 深入理解Docker的核心概念,包括鏡像(Image)、容器(Container)、Dockerfile、Docker Compose。本部分將詳盡講解如何編寫Dockerfile來構建高效、精簡的應用程序鏡像。學習如何使用Docker Compose來定義和運行多容器的Docker應用程序,模擬生産環境。 Docker容器編排(Kubernetes): Kubernetes(K8s)是當前最流行的容器編排平颱。本部分將係統介紹Kubernetes的核心概念,如Pod、Deployment、Service、Namespace、Ingress等。我們將講解如何使用Kubernetes來自動化部署、擴展和管理容器化應用程序,實現高可用性和彈性伸縮。 容器化部署實踐: 演示如何將Spring Boot和Spring Cloud構建的微服務應用打包成Docker鏡像,並部署到Kubernetes集群中。講解CI/CD(持續集成/持續部署)流水綫的構建,將代碼提交、構建、測試、部署等環節自動化。 雲原生架構理念: 介紹雲原生(Cloud Native)的十二要素(Twelve-Factor App)等核心原則,以及如何在雲環境中構建和運行應用程序。探討服務網格(Service Mesh)如Istio、Linkerd的作用,它們如何進一步提升微服務治理能力。 性能優化與監控: 講解在容器化和分布式環境下,如何進行應用性能的監控和調優。介紹Prometheus、Grafana等常用的監控工具,以及如何結閤日誌聚閤工具(如ELK Stack)構建全麵的可觀測性平颱。 適用人群: 本書適閤所有希望掌握現代Java企業級應用開發、分布式係統設計以及容器化部署的開發者、架構師、技術主管和係統管理員。無論您是初學者還是有一定經驗的開發者,都能從本書中獲得寶貴的知識和實踐經驗。 學習本書,您將能夠: 熟練運用Spring Boot快速構建健壯的Java應用。 理解並掌握Spring Cloud的核心組件,設計和實現高可用的分布式微服務。 精通Docker容器化技術,並能使用Kubernetes進行自動化部署和管理。 具備構建和運維雲原生應用的綜閤能力,應對現代軟件開發的挑戰。 《雲端飛馳:現代Java企業級應用架構與實踐》 不僅僅是一本技術書籍,更是一次賦能您在雲時代構建卓越應用的旅程。通過本書的學習,您將掌握驅動企業數字化轉型和技術創新的核心競爭力。

用戶評價

評分

這次偶然的機會接觸到這本書,立刻被它的標題所吸引。作為一名在Java領域摸爬滾打多年的開發者,我一直在尋找能夠幫助我係統性梳理和提升微服務架構能力的讀物。這本書的“精髓”、“實戰”字眼,以及提到的Spring Boot、Spring Cloud和Docker,都精準地戳中瞭我的興趣點。我個人比較看重書籍的實踐性,希望它不僅僅是理論的堆砌,更能提供實際的代碼示例、配置說明以及生産環境中的一些常見問題的解決方案。從我快速翻閱的感受來看,這本書的章節劃分邏輯清晰,從基礎到進階,循序漸進,對於初學者來說應該很容易上手,而對於有一定經驗的開發者,也能從中找到新的啓發。我特彆期待書中關於Spring Cloud組件的深入剖析,比如Eureka、Zuul、Config Server等,以及它們是如何協同工作來構建一個完整的微服務生態的。另外,Docker的集成也是一大亮點,畢竟在如今的雲原生時代,容器化部署已經成為標配。這本書的齣現,無疑會成為我近期工作中的重要參考資料。

評分

這本書的外觀很簡潔大氣,沒有過多花哨的修飾,反而透露齣一種專業感。我之前對Spring Boot和Spring Cloud有一定的瞭解,但總感覺在將它們融入到實際的微服務架構中時,缺少一個清晰的脈絡和完整的實操指導。這本書的齣現,正好填補瞭這一空白。我喜歡它將Spring Boot的“精髓”與Spring Cloud的“實戰”結閤,並且引入瞭Docker這個重要的容器化技術,形成瞭一個完整的技術棧。這讓我看到瞭一個端到端的微服務解決方案。我尤其關注書中關於如何設計和實現一個高可用、可伸縮的微服務係統的部分,這其中可能涉及到服務拆分、API網關、服務間通信、分布式事務處理等等復雜的技術點。我希望這本書能夠提供一些具體的案例分析,讓我能夠學以緻用,將理論知識轉化為實際能力。同時,Docker在微服務部署和管理中的應用,也讓我充滿瞭好奇,期待書中能夠有深入的講解。

評分

這本書的封麵設計相當吸引人,深邃的藍色背景搭配金色的標題,有一種沉穩而又不失科技感的氣息,這讓我對內容充滿瞭期待。翻開第一頁,紙張的質感很好,印刷清晰,閱讀體驗上乘。盡管我還沒來得及深入研究書中的每一個章節,但僅僅是瀏覽目錄,就足以感受到作者在內容編排上的用心。從Spring Boot的基礎入門,到Spring Cloud在微服務中的應用,再到Docker容器化部署,這幾個核心技術點被清晰地串聯起來,仿佛一條清晰的學習路徑圖呈現在眼前。我特彆關注到瞭關於“微服務架構實戰”的部分,這正是我目前工作中最迫切需要解決的技術難題。書中對於如何設計、開發、部署和管理微服務應用,應該會有非常詳盡的講解。我對書中可能涉及到的服務注冊與發現、熔斷降級、負載均衡、分布式配置中心等方麵的內容尤為感興趣,這些都是構建健壯微服務係統的關鍵。這本書的厚度適中,既不會讓人望而生畏,又保證瞭內容的充實度,相信它能為我提供紮實的理論基礎和實用的操作指南。

評分

拿到這本厚厚的書籍,就有一種沉甸甸的專業感。我一直認為,在快速發展的IT技術領域,掌握核心的框架和技術,並能將它們融會貫通,是提升個人競爭力的關鍵。這本書的標題,直接點明瞭Spring Boot、Spring Cloud和Docker這三大關鍵技術,而且冠以“精髓”和“實戰”,這讓我感到非常有價值。我是一名正在努力轉型到微服務開發領域的開發者,目前對Spring Cloud中的各個組件,如配置中心、服務網關、服務發現等,還處於比較模糊的認知階段,這本書正好能幫助我建立起一個係統性的認識。我期待它能詳細講解如何在Spring Boot的基礎上,運用Spring Cloud構建復雜的微服務係統,並且通過Docker實現高效的部署和管理。書中關於“微服務架構”的實戰部分,是我最期待的內容,希望能夠學到一些在實際項目中可以藉鑒的架構設計思路和開發技巧,解決我在日常開發中遇到的瓶頸。

評分

當這本書齣現在我的視野中時,我立刻被它所包含的技術棧所吸引。Spring Boot作為Java領域炙手可熱的微服務框架,其“精髓”的提煉是我一直以來所渴望的。而Spring Cloud更是微服務架構的基石,如何將它運用到實際項目中,是許多開發者麵臨的挑戰。這本書將這兩者與Docker這個容器化部署的利器結閤,構建瞭一個完整的微服務解決方案。我尤其看重書中“實戰”二字,這意味著它不會僅僅停留在理論層麵,而是會提供豐富的實踐指導。我希望能從書中學習到如何有效地設計和開發可擴展、高可用的微服務,包括服務治理、熔斷降級、分布式追蹤等關鍵技術。同時,Docker在微服務部署、運維中的應用也是我非常感興趣的部分,期待書中能夠提供清晰的Dockerfile編寫、鏡像構建以及容器編排的教程。這本書的齣現,無疑為我係統學習和掌握微服務架構提供瞭一條捷徑。

相關圖書

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

© 2025 book.coffeedeals.club All Rights Reserved. 靜流書站 版權所有