定 價:¥109.00
作 者: | (?。┑蟽仁病だ仗?/td> |
出版社: | 清華大學出版社 |
叢編項: | |
標 簽: | 暫缺 |
ISBN: | 9787302530244 | 出版時間: | 2019-06-01 | 包裝: | 平裝 |
開本: | 16開 | 頁數(shù): | 315 | 字數(shù): |
目 錄
第1章 Spring Boot 2.0 1
1.1 Spring Boot概述 2
1.2 利用Spring Boot簡化應用程序開發(fā) 3
1.3 Spring Boot中的核心組件 5
1.3.1 Spring Boot Starter 5
1.3.2 Spring Boot Starter Parent POM 7
1.3.3 Spring Boot auto-configuration 7
1.3.4 啟用Spring Boot auto-configuration 9
1.3.5 Spring Boot CLI 11
1.3.6 Spring Boot Actuator 11
1.4 設置Spring Boot工作區(qū) 12
1.4.1 利用Maven設置Spring Boot 13
1.4.2 利用Gradle設置Spring Boot 13
1.5 開發(fā)第一個Spring Boot應用程序 15
1.5.1 使用Web界面 15
1.5.2 利用STS IDE創(chuàng)建Spring Boot項目 17
1.6 實現(xiàn)REST服務 19
1.7 Spring Boot 2.0中的新特性 22
1.8 本章小結 22
第2章 定制auto-configuration 25
2.1 理解auto-configuration 26
2.2 定制Spring Boot 27
2.2.1 利用Spring Boot屬性進行定制 27
2.2.2 替換已生成的Bean 29
2.2.3 禁用特定的auto-configuration類 29
2.2.4 修改庫的依賴關系 30
2.3 基于屬性的配置外部化 31
2.3.1 屬性的評估順序 31
2.3.2 重命名Spring應用程序中的application.properties 32
2.4 外部配置應用程序屬性 33
2.5 基于日志記錄的調優(yōu) 35
2.6 YAML配置文件 36
2.6.1 針對屬性的YAML 36
2.6.2 單一YAML文件中的多個屬性 37
2.7 定制應用程序錯誤頁面 37
2.8 本章小結 39
第3章 Spring CLI和Actuator 41
3.1 使用Spring Boot CLI 41
3.1.1 安裝Spring Boot CLI 42
3.1.2 從安裝文件中手動安裝Spring Boot CLI 42
3.1.3 使用SDKMAN!安裝Spring Boot CLI 43
3.1.4 利用OSX Homebrew安裝Spring Boot CLI 43
3.2 使用Initializr 44
3.3 Spring Boot Actuator 48
3.3.1 在應用程序中啟用Spring Boot Actuator 49
3.3.2 分析Actuator的端點 49
3.3.3 顯示配置細節(jié) 51
3.3.4 顯示指標端點 56
3.3.5 顯示應用程序信息 57
3.3.6 關閉應用程序 59
3.3.7 自定義Actuator端點 59
3.3.8 創(chuàng)建一個自定義端點 64
3.4 Actuator端點的安全性 66
3.5 Spring Boot 2.x中的Actuator 67
3.6 本章小結 68
第4章 Spring Cloud和配置操作 69
4.1 原生云應用程序架構 69
4.1.1 微服務架構 71
4.1.2 微服務的優(yōu)點 72
4.1.3 微服務面臨的挑戰(zhàn) 73
4.2 Spring Cloud簡介 74
4.2.1 云和微服務程序的構造塊 74
4.2.2 Spring Cloud應用 76
4.3 配置Spring Cloud應用程序 77
4.4 創(chuàng)建配置生成器—Spring Cloud Config Server 78
4.5 實現(xiàn)Cloud Config Server 79
4.5.1 配置application.properties文件 80
4.5.2 創(chuàng)建Git存儲庫作為配置存儲 80
4.6 利用模式配置多個存儲庫 83
4.6.1 身份驗證 84
4.6.2 force-pull屬性 85
4.7 創(chuàng)建Spring Cloud客戶端 85
4.8 本章小結 87
第5章 Spring Cloud Netflix和Service Discovery 89
5.1 Spring Cloud Netflix簡介 89
5.2 微服務架構中的Service Discovery 90
5.3 實現(xiàn)Service Discovery—Eureka Server 92
5.3.1 Maven構建配置文件 92
5.3.2 Gradle構建配置文件 93
5.3.3 啟用Eureka服務器作為Discovery Service服務器 94
5.4 實現(xiàn)Service Discovery—Eureka客戶端 96
5.4.1 添加Maven依賴關系配置 96
5.4.2 Gradle構建配置 98
5.5 利用Eureka注冊客戶端 99
5.5.1 使用REST服務 102
5.5.2 使用EurekaClient 102
5.5.3 Feign Client 107
5.6 本章小結 111
第6章 構建Spring Boot RESTful微服務 113
6.1 基于Spring Boot的微服務 113
6.1.1 bootstrap.yml和application.yml簡介 114
6.1.2 簡單的微服務示例 115
6.2 Spring Data簡介 128
6.2.1 Apache Ignite存儲庫 129
6.2.2 Spring Data MongoDB 129
6.2.3 Spring Data JPA 130
6.3 本章小結 130
第7章 利用Netflix Zuul創(chuàng)建API網關 133
7.1 API網關模式需求 133
7.1.1 API Gateway模式的優(yōu)點 135
7.1.2 API Gateway的一些缺點 135
7.1.3 API Gateway模式組件 135
7.2 利用Netflix Zuul Proxy實現(xiàn)API Gateway 136
7.2.1 利用Maven依賴關系包含Zuul 137
7.2.2 啟用Zuul服務代理 137
7.2.3 配置Zuul屬性 138
7.2.4 添加過濾器 141
7.3 本章小結 144
第8章 利用Feign客戶端簡化HTTP API 145
8.1 Feign基礎知識 145
8.2 在云應用程序中包含F(xiàn)eign 148
8.2.1 重載Feign的默認配置 153
8.2.2 創(chuàng)建Feign客戶端 155
8.2.3 Feign繼承機制 156
8.2.4 多重繼承 156
8.3 Feign客戶端的高級應用 157
8.4 異常處理 158
8.5 自定義編碼器和解碼器 159
8.5.1 自定義編碼器 160
8.5.2 自定義解碼器 161
8.6 Feign和Hystrix 161
8.7 Feign客戶端單元測試 163
8.8 本章小結 164
第9章 構建事件驅動和異步響應式系統(tǒng) 165
9.1 事件驅動型架構模式 165
9.1.1 調停者拓撲 165
9.1.2 代理拓撲 166
9.2 響應式編程簡介 167
9.2.1 Spring Reactive 167
9.2.2 ReactiveX 168
9.3 命令查詢的責任分離簡介 168
9.3.1 Event Sourcing模式簡介 170
9.3.2 最終一致性 171
9.4 構建事件驅動型響應式異步系統(tǒng) 172
9.5 Spring Cloud Streaming簡介 173
9.5.1 向應用程序中添加Kafka 174
9.5.2 安裝和運行Kafka 175
9.5.3 Kafka配置屬性 175
9.5.4 用于寫入Kafka的服務 176
9.5.5 Rest API控制器 177
9.5.6 監(jiān)聽Kafka主題 177
9.6 本章小結 181
第10章 利用Hystrix和Turbine構建彈性系統(tǒng) 183
10.1 斷路器模式 184
10.2 使用Hystrix library 186
10.3 在應用程序中配置Hystrix 187
10.3.1 Maven依賴關系 188
10.3.2 啟用斷路器 188
10.3.3 向服務中添加Hystrix注解 189
10.3.4 錯誤傳遞 192
10.4 在客戶服務中實現(xiàn)REST控制器 192
10.5 構建和測試客戶服務 195
10.6 自定義默認的配置項 196
10.7 Hystrix Metrics Stream 198
10.8 在項目中實現(xiàn)Hystrix Dashboard 199
10.9 Turbine儀表盤 201
10.10 基于Hystrix和Feign的REST使用者 204
10.11 本章小結 206
第11章 測試Spring Boot應用程序 207
11.1 測試驅動開發(fā) 207
11.2 單元測試機制 208
11.2.1 單元測試的優(yōu)點 211
11.2.2 單元測試的缺點 212
11.2.3 其他模擬庫 212
11.3 集成測試 212
11.3.1 Spring測試的優(yōu)點 214
11.3.2 激活測試類的配置 214
11.4 Spring Boot應用程序的JUnit測試 214
11.5 使用Mockito模擬服務 216
11.6 測試RESTful服務契約的Postman 217
11.7 本章小結 220
第12章 微服務的容器化 221
12.1 微服務架構的容器 222
12.1.1 虛擬機和容器 222
12.1.2 容器方案的優(yōu)點 224
12.1.3 面向容器方案的缺點 224
12.2 Docker簡介 225
12.2.1 安裝Docker 226
12.2.2 在Linux上安裝Docker 226
12.2.3 在Windows中安裝Docker 227
12.2.4 Docker架構 229
12.2.5 Docker引擎 231
12.2.6 Docker容器 232
12.2.7 編寫Dockerfile 233
12.3 Docker化Spring Boot應用程序 235
12.4 利用Maven創(chuàng)建Docker鏡像 239
12.5 Docker Compose簡介 240
12.5.1 安裝Docker Compose 241
12.5.2 使用Docker Compose 242
12.5.3 編寫docker-compose文件 242
12.5.4 基于docker-compose文件的編排操作 244
12.5.5 利用docker-compose和負載平衡擴展容器 247
12.6 Kubernetes簡介 248
12.7 本章小結 249
第13章 API管理器 251
13.1 API管理 251
13.1.1 API管理軟件的優(yōu)點 252
13.1.2 API管理工具 252
13.2 速率限制 252
13.3 KONG簡介 253
13.3.1 基于KONG架構的微服務REST API 254
13.3.2 未采用KONG架構的API應用 255
13.3.3 安裝KONG 255
13.3.4 使用KONG API 257
13.4 Swagger 265
13.4.1 Swagger應用 265
13.4.2 在微服務中使用Swagger 266
13.4.3 Swagger的優(yōu)點 277
13.5 本章小結 278
第14章 云部署(AWS) 279
14.1 AWS EC2實例 279
14.2 AWS上的微服務架構 284
14.3 在AWS EC2上安裝Docker 289
14.4 在AWS EC2上運行微服務 291
14.5 本章小結 293
第15章 生產服務監(jiān)視和最佳實踐 295
15.1 監(jiān)視容器 295
15.2 日志機制所面臨的挑戰(zhàn) 295
15.3 微服務架構的中心日志方案 297
15.3.1 基于ELK棧的日志聚合 299
15.3.2 使用Sleuth的請求跟蹤 306
15.3.3 基于Zipkin的請求跟蹤 310
15.4 本章小結 315