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