定 價:¥128.00
作 者: | (美)Josh Long(喬西-朗), Kenny Bastani(肯尼-巴斯塔尼) |
出版社: | 電子工業(yè)出版社 |
叢編項: | |
標 簽: | 暫缺 |
ISBN: | 9787121342516 | 出版時間: | 2018-07-01 | 包裝: | |
開本: | 頁數: | 字數: |
"目錄
前言(James Watters).......................................................xv
前言(Rod Johnson)........................................................ xvii
前言................................................................................ xix
第Ⅰ部分 基礎知識
第1 章 云原生應用程序.......................................................... 3
亞馬遜的故事 ............................................................................................................... 3
平臺的承諾 ................................................................................................................... 5
模式 .............................................................................................................................. 7
可擴展性 ....................................................................................................................... 7
可靠性 ........................................................................................................................... 8
敏捷性 ........................................................................................................................... 8
Netflix 的故事 ............................................................................................................... 9
微服務 ................................................................................................................. 11
拆分單體系統 ...................................................................................................... 12
Netflix OSS ......................................................................................................... 13
云原生Java ......................................................................................................... 14
十二要素原則 ............................................................................................................. 14
代碼庫 ................................................................................................................. 15
依賴 ..................................................................................................................... 15
配置 ..................................................................................................................... 16
x | 目錄
后端服務 ............................................................................................................. 17
構建、發(fā)布、運行 .............................................................................................. 17
進程 ..................................................................................................................... 17
端口綁定 ............................................................................................................. 18
并發(fā) ..................................................................................................................... 18
易處理 ................................................................................................................. 18
開發(fā)/ 生產環(huán)境一致 ........................................................................................... 19
日志 ..................................................................................................................... 19
管理進程 ............................................................................................................. 19
總結 ............................................................................................................................ 20
第2 章 訓練營:Spring Boot 和Cloud Foundry......................21
什么是Spring Boot ..................................................................................................... 21
Spring Initializr 入門 ................................................................................................... 21
Spring Tool Suite 入門 ................................................................................................ 30
安裝Spring Tool Suite(STS)............................................................................. 30
使用Spring Initializr 創(chuàng)建一個新項目 ................................................................ 31
Spring 指南大全 .......................................................................................................... 36
遵循STS 中的指南 ............................................................................................. 38
配置 ............................................................................................................................ 40
Cloud Foundry 平臺 .................................................................................................... 52
總結 ............................................................................................................................ 66
第3 章 符合十二要素程序風格的配置....................................... 67
令人迷惑的“配置”合并 ........................................................................................... 67
Spring 框架對配置的支持 ........................................................................................... 67
PropertyPlaceholderConfigurer ............................................................................ 68
Environment 接口和@Value 注解 ....................................................................... 69
Profile .................................................................................................................. 71
啟動配置 ..................................................................................................................... 73
使用Spring Cloud Config Server 進行中心化、日志型的配置................................... 76
Spring Cloud Config Server ................................................................................. 76
Spring Cloud Config 客戶端 ................................................................................ 78
安全 ..................................................................................................................... 79
目錄 | xi
可刷新的配置 ............................................................................................................. 79
總結 ............................................................................................................................ 83
第4章 測試..................................................................... 85
測試的構成 ................................................................................................................. 86
在Spring Boot 中進行測試 ......................................................................................... 86
集成測試 ..................................................................................................................... 88
測試切片 ............................................................................................................. 89
測試中的Mock ................................................................................................... 89
使用@SpringBootTest 中的Servlet 容器 ............................................................ 93
測試分片 ............................................................................................................. 94
端到端測試 ............................................................................................................... 102
測試分布式系統 ................................................................................................ 102
消費者驅動的契約測試 ..................................................................................... 104
Spring Cloud Contract ....................................................................................... 105
總結 .......................................................................................................................... 113
第5 章 遷移遺留的應用程序................................................. 115
契約 .......................................................................................................................... 115
遷移應用程序環(huán)境 .................................................................................................... 116
開箱即用的構建包(Buildpacks) ..................................................................... 116
自定義的構建包 ................................................................................................ 117
容器化的應用程序 ............................................................................................ 118
將應用程序遷移到云上的微重構 .............................................................................. 119
連接后端服務 .................................................................................................... 120
用Spring 實現服務平等 .................................................................................... 121
總結 .......................................................................................................................... 133
第Ⅱ部分 Web 服務
第6 章 REST API........................................................... 137
倫納德· 理查森的成熟模型 ...................................................................................... 137
使用Spring MVC 實現簡單的REST API ................................................................. 139
內容協商 ................................................................................................................... 142
xii | 目錄
讀寫二進制數據 ................................................................................................ 142
Google Protocol Buffers .................................................................................... 145
錯誤處理 ................................................................................................................... 150
超媒體 ....................................................................................................................... 152
媒體類型和模式 ................................................................................................ 158
API 版本 ................................................................................................................... 159
編寫REST API 文檔 ................................................................................................. 162
客戶端 ....................................................................................................................... 167
用于臨時瀏覽和交互的REST 客戶端 ............................................................... 167
RestTemplate ..................................................................................................... 171
總結 .......................................................................................................................... 177
第7 章 路由.................................................................... 179
DiscoveryClient 接口 ................................................................................................ 180
Cloud Foundry Route 服務 ........................................................................................ 190
總結 .......................................................................................................................... 195
第8 章 邊緣服務............................................................... 197
Greetings 服務 .......................................................................................................... 198
一個簡單的邊緣服務 ................................................................................................ 200
Netflix Feign ............................................................................................................. 202
使用Netflix Zuul 進行過濾和代理 ........................................................................... 204
自定義Zuul 過濾器 ........................................................................................... 214
邊緣服務的安全 ........................................................................................................ 218
OAuth ....................................................................................................................... 219
服務端應用程序 ................................................................................................ 220
HTML5 和JavaScript 單頁面應用程序 ............................................................. 221
沒有用戶的應用 ................................................................................................ 221
受信任的客戶端 ................................................................................................ 221
Spring Security .......................................................................................................... 222
Spring Cloud Security ............................................................................................... 227
一個Spring Security OAuth 授權服務器 ........................................................... 227
保護Greetings 資源服務器的安全 .................................................................... 232
創(chuàng)建一個受OAuth 保護的單頁面應用程序 ...................................................... 238
總結 .......................................................................................................................... 247
目錄 | xiii
第Ⅲ部分 數據整合
第9 章 數據管理............................................................... 251
數據建模 ................................................................................................................... 251
關系數據庫管理系統(RDBMS) ...................................................................... 252
NoSQL............................................................................................................... 253
Spring Data ............................................................................................................... 253
Spring Data 應用程序的結構 ............................................................................. 254
域類 ................................................................................................................... 254
庫 ...................................................................................................................... 254
為領域數據組織Java 包 .................................................................................... 255
使用JDBC 訪問RDBMS 數據 ................................................................................. 258
Spring 的JDBC 支持 ................................................................................................ 259
Spring Data 示例 ....................................................................................................... 261
Spring Data JPA......................................................................................................... 264
Account Service ................................................................................................. 264
集成測試 ........................................................................................................... 274
Spring Data MongoDB .............................................................................................. 275
Order Service ..................................................................................................... 275
集成測試 ........................................................................................................... 282
Spring Data Neo4j ..................................................................................................... 284
Inventory Service ............................................................................................... 284
集成測試 ........................................................................................................... 294
Spring Data Redis ...................................................................................................... 297
高速緩存 ........................................................................................................... 298
總結 .......................................................................................................................... 302
第10 章 消息系統............................................................. 303
Spring Integration 的事件驅動架構 ........................................................................... 304
消息端點 ........................................................................................................... 305
使用簡單的組件構建復雜的系統 ...................................................................... 306
消息代理、橋接、競爭消費者模式和事件溯源 ....................................................... 314
發(fā)布—訂閱目的地 ............................................................................................ 314
點對點目的地 .................................................................................................... 315
xiv | 目錄
Spring Cloud Stream ................................................................................................. 315
流生產者 ........................................................................................................... 316
流消費者 ........................................................................................................... 321
總結 .......................................................................................................................... 323
第11 章 批處理和任務........................................................ 325
批處理工作 ............................................................................................................... 325
Spring Batch .............................................................................................................. 326
我們的第一個批處理作業(yè) ................................................................................. 327
調度 .......................................................................................................................... 336
通過消息傳遞遠程分區(qū)Spring 批處理作業(yè) .............................................................. 337
任務管理 ................................................................................................................... 346
通過Workflow 進行的以工作流為中心的整合 ......................................................... 348
使用消息傳遞的分布式............................................................................................. 362
總結 .......................................................................................................................... 362
第12 章 數據集成............................................................. 363
分布式事務 ............................................................................................................... 364
故障隔離和優(yōu)雅的降級............................................................................................. 364
saga 模式 ................................................................................................................... 369
CQRS(命令查詢責任分離) .................................................................................... 369
投訴API ............................................................................................................ 371
投訴統計API .................................................................................................... 383
Spring Cloud Data Flow ............................................................................................ 385
Stream ............................................................................................................... 387
任務 ................................................................................................................... 390
REST API .......................................................................................................... 391
實現Data Flow 客戶端 ...................................................................................... 392
總結 .......................................................................................................................... 407
第IV 部分 生產
第13 章 可觀測的系統....................................................... 411
你構建,你運行 ........................................................................................................ 412
目錄 | xv
謀殺神秘微服務 ........................................................................................................ 413
十二要素運維 ........................................................................................................... 413
新方式 ....................................................................................................................... 414
可觀測性 ................................................................................................................... 416
推與拉的可觀測性和解析率 ..................................................................................... 416
使用Spring Boot Actuator 捕獲應用程序的當前狀態(tài) ............................................... 417
度量 .......................................................................................................................... 418
通過/info 端點識別服務 ........................................................................................... 431
健康檢查 ................................................................................................................... 432
審計事件 ................................................................................................................... 436
應用程序日志 ........................................................................................................... 439
指定日志輸出 .................................................................................................... 440
指定日志級別 .................................................................................................... 441
分布式跟蹤 ............................................................................................................... 445
用Spring Cloud Sleuth 尋找線索 ...................................................................... 446
多少數據是足夠的 ............................................................................................ 447
OpenZipkin :一張圖片勝過千絲萬縷 ............................................................... 448
跟蹤其他平臺和技術 ......................................................................................... 454
儀表板 ....................................................................................................................... 455
使用Hystrix 儀表板監(jiān)控下游服務 .................................................................... 455
Codecentric 的Spring Boot Admin .................................................................... 459
Ordina Microservices 儀表板 ............................................................................. 462
Pivotal Cloud Foundry 的AppsManager ............................................................ 463
修復 .......................................................................................................................... 465
總結 .......................................................................................................................... 467
第14 章 服務代理.............................................................469
創(chuàng)建后臺服務 ........................................................................................................... 470
平臺視圖 ................................................................................................................... 472
使用Spring Cloud Cloud Foundry Service Broker 實現服務代理 ............................... 473
簡單的Amazon S3 服務代理 ............................................................................ 473
服務目錄 ........................................................................................................... 474
管理服務實例 .................................................................................................... 476
服務綁定 ........................................................................................................... 482
保護服務代理 .................................................................................................... 486
xvi | 目錄
部署 .......................................................................................................................... 487
使用BOSH 發(fā)布 ............................................................................................... 487
使用Cloud Foundry 發(fā)布 .................................................................................. 488
注冊Amazon S3 Service Broker ............................................................................... 489
創(chuàng)建Amazon S3 服務實例 ........................................................................................ 490
消費服務實例 .................................................................................................... 491
S3 客戶端應用程序 ................................................................................................... 493
運行測試 ................................................................................................................... 496
總結 .......................................................................................................................... 496
第15 章 持續(xù)交付.............................................................497
持續(xù)集成之外 ........................................................................................................... 497
John Allspaw 在Flickr 以及后來的Etsy ........................................................... 498
Netflix 的Adrian Cockroft ................................................................................ 499
亞馬遜的持續(xù)交付 ............................................................................................ 500
流水線 ....................................................................................................................... 500
測試 .......................................................................................................................... 501
持續(xù)交付微服務 ........................................................................................................ 502
工具 .......................................................................................................................... 503
Concourse ................................................................................................................. 503
容器 ................................................................................................................... 504
持續(xù)交付微服務 ........................................................................................................ 504
安裝Concourse ................................................................................................. 505
基本的管道設計 ................................................................................................ 506
持續(xù)集成 ........................................................................................................... 518
消費者驅動的協約測試............................................................................................. 518
User 微服務流水線 ............................................................................................ 519
數據 .......................................................................................................................... 522
生產 .......................................................................................................................... 523
第V 部分 附錄
附錄A 在Java EE 中使用Spring Boot................................527
索引............................................................................... 552"