注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)工業(yè)技術(shù)建筑科學(xué)建筑設(shè)計(jì)云原生Java:Spring Boot、Spring Cloud與Cloud Foundry彈性系統(tǒng)設(shè)計(jì)

云原生Java:Spring Boot、Spring Cloud與Cloud Foundry彈性系統(tǒng)設(shè)計(jì)

云原生Java:Spring Boot、Spring Cloud與Cloud Foundry彈性系統(tǒng)設(shè)計(jì)

定 價:¥128.00

作 者: (美)Josh Long(喬西-朗), Kenny Bastani(肯尼-巴斯塔尼)
出版社: 電子工業(yè)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

ISBN: 9787121342516 出版時間: 2018-07-01 包裝:
開本: 頁數(shù): 字?jǐn)?shù):  

內(nèi)容簡介

  無論是傳統(tǒng)IT行業(yè),還是互聯(lián)網(wǎng)行業(yè),都正處于行業(yè)歷史上最劇烈的變革中 :大量的系統(tǒng)正在從傳統(tǒng)的IT架構(gòu)轉(zhuǎn)向基于云的架構(gòu), 開發(fā)模式也正在從開發(fā)和運(yùn)維分工的傳統(tǒng)模式,逐漸轉(zhuǎn)向統(tǒng)一的“DevOps”模式。Java技術(shù)已經(jīng)進(jìn)入了新的生命周期,大量被用于構(gòu)建現(xiàn)代的、基于云的應(yīng)用程序。 本書詳細(xì)闡述了開發(fā)云原生應(yīng)用程序的機(jī)遇和挑戰(zhàn),明確指出了成功實(shí)現(xiàn)的方向,并且重點(diǎn)介紹了微服務(wù)框架Spring Boot。Spring Boot可以輕松創(chuàng)建任何粒度的 Spring服務(wù),并部署到現(xiàn)代的容器環(huán)境中。本書主要面向正在使用 Spring Boot、SpringCloud和Cloud Foundry, 以便更快、更好地構(gòu)建軟件的Java/JVM 開發(fā)人員。本書一共分為4個部分共15章。第1章和第2章介紹了云原生思想產(chǎn)生的背景,然后介紹了Spring Foundry。第3章介紹了如何配置Spring Boot應(yīng)用程序。第4章介紹了如何測試Spring應(yīng)用程序,從如何測試最簡單的組件到測試分布式系統(tǒng)。第5章介紹了可以將應(yīng)用程序遷移到Cloud Foundry等云平臺的輕量級重構(gòu)方式。第6章介紹了如何使用Spring構(gòu)建HTTP和RESTful服務(wù)。第7章介紹了在分布式系統(tǒng)中控制請求進(jìn)出的常用方法。第8章介紹了如何構(gòu)建一個響應(yīng)外部請求的服務(wù)。第9章介紹了如何使用Spring Data在Spring中管理數(shù)據(jù)。這為領(lǐng)域驅(qū)動的思想奠定了基礎(chǔ)。第10章介紹了如何使用Spring中事件驅(qū)動、消息中心化的能力,來集成分布式服務(wù)和數(shù)據(jù)。第11章介紹了如何利用云平臺(如Cloud Foundry)的能力來處理長期運(yùn)行的工作。第12章介紹了在分布式系統(tǒng)中管理狀態(tài)的一些方法。第13章介紹了如何構(gòu)建具備可觀測性和可操作性的系統(tǒng)。第14章介紹了如何構(gòu)建類似于Cloud Foundry平臺的服務(wù)代理。第15章介紹了持續(xù)交付背后的思想。

作者簡介

  Josh Long是一名Spring developer advocate,是InfoQ.com Java團(tuán)隊(duì)的編輯。他也是多部著作的主要作者,如Spring Recipes,2nd Edition(Apress)。Kenny Bastani是Pivotal的一名Spring developer advocate。作為一名開源貢獻(xiàn)者和軟件架構(gòu)博主(WWW.kennybastani.com),他為軟件開發(fā)者提供關(guān)于構(gòu)建事件驅(qū)動的微服務(wù)和無服務(wù)器架構(gòu)方面的教程。他也在一些行業(yè)會議上做演講,如OSCON、SpringOne Platform和GOTO大會。宋凈超,曾就職于科大訊飛,在大數(shù)據(jù)平臺架構(gòu)、云平臺的開發(fā)運(yùn)維、容器平臺構(gòu)建方面有豐富經(jīng)驗(yàn),目前在TalkingData從事Kubernetes和云原生應(yīng)用的研究和推廣工作。《Cloud Native Go》《Pyhon云原生》譯者,QCon講師,個人博客 https://jimmysong.io。

圖書目錄

"目錄

前言(James Watters).......................................................xv

前言(Rod Johnson)........................................................ xvii

前言................................................................................ xix

第Ⅰ部分 基礎(chǔ)知識

第1 章 云原生應(yīng)用程序.......................................................... 3

亞馬遜的故事 ............................................................................................................... 3

平臺的承諾 ................................................................................................................... 5

模式 .............................................................................................................................. 7

可擴(kuò)展性 ....................................................................................................................... 7

可靠性 ........................................................................................................................... 8

敏捷性 ........................................................................................................................... 8

Netflix 的故事 ............................................................................................................... 9

微服務(wù) ................................................................................................................. 11

拆分單體系統(tǒng) ...................................................................................................... 12

Netflix OSS ......................................................................................................... 13

云原生Java ......................................................................................................... 14

十二要素原則 ............................................................................................................. 14

代碼庫 ................................................................................................................. 15

依賴 ..................................................................................................................... 15

配置 ..................................................................................................................... 16

x | 目錄

后端服務(wù) ............................................................................................................. 17

構(gòu)建、發(fā)布、運(yùn)行 .............................................................................................. 17

進(jìn)程 ..................................................................................................................... 17

端口綁定 ............................................................................................................. 18

并發(fā) ..................................................................................................................... 18

易處理 ................................................................................................................. 18

開發(fā)/ 生產(chǎn)環(huán)境一致 ........................................................................................... 19

日志 ..................................................................................................................... 19

管理進(jìn)程 ............................................................................................................. 19

總結(jié) ............................................................................................................................ 20

第2 章 訓(xùn)練營:Spring Boot 和Cloud Foundry......................21

什么是Spring Boot ..................................................................................................... 21

Spring Initializr 入門 ................................................................................................... 21

Spring Tool Suite 入門 ................................................................................................ 30

安裝Spring Tool Suite(STS)............................................................................. 30

使用Spring Initializr 創(chuàng)建一個新項(xiàng)目 ................................................................ 31

Spring 指南大全 .......................................................................................................... 36

遵循STS 中的指南 ............................................................................................. 38

配置 ............................................................................................................................ 40

Cloud Foundry 平臺 .................................................................................................... 52

總結(jié) ............................................................................................................................ 66

第3 章 符合十二要素程序風(fēng)格的配置....................................... 67

令人迷惑的“配置”合并 ........................................................................................... 67

Spring 框架對配置的支持 ........................................................................................... 67

PropertyPlaceholderConfigurer ............................................................................ 68

Environment 接口和@Value 注解 ....................................................................... 69

Profile .................................................................................................................. 71

啟動配置 ..................................................................................................................... 73

使用Spring Cloud Config Server 進(jìn)行中心化、日志型的配置................................... 76

Spring Cloud Config Server ................................................................................. 76

Spring Cloud Config 客戶端 ................................................................................ 78

安全 ..................................................................................................................... 79

目錄 | xi

可刷新的配置 ............................................................................................................. 79

總結(jié) ............................................................................................................................ 83

第4章 測試..................................................................... 85

測試的構(gòu)成 ................................................................................................................. 86

在Spring Boot 中進(jìn)行測試 ......................................................................................... 86

集成測試 ..................................................................................................................... 88

測試切片 ............................................................................................................. 89

測試中的Mock ................................................................................................... 89

使用@SpringBootTest 中的Servlet 容器 ............................................................ 93

測試分片 ............................................................................................................. 94

端到端測試 ............................................................................................................... 102

測試分布式系統(tǒng) ................................................................................................ 102

消費(fèi)者驅(qū)動的契約測試 ..................................................................................... 104

Spring Cloud Contract ....................................................................................... 105

總結(jié) .......................................................................................................................... 113

第5 章 遷移遺留的應(yīng)用程序................................................. 115

契約 .......................................................................................................................... 115

遷移應(yīng)用程序環(huán)境 .................................................................................................... 116

開箱即用的構(gòu)建包(Buildpacks) ..................................................................... 116

自定義的構(gòu)建包 ................................................................................................ 117

容器化的應(yīng)用程序 ............................................................................................ 118

將應(yīng)用程序遷移到云上的微重構(gòu) .............................................................................. 119

連接后端服務(wù) .................................................................................................... 120

用Spring 實(shí)現(xiàn)服務(wù)平等 .................................................................................... 121

總結(jié) .......................................................................................................................... 133

第Ⅱ部分 Web 服務(wù)

第6 章 REST API........................................................... 137

倫納德· 理查森的成熟模型 ...................................................................................... 137

使用Spring MVC 實(shí)現(xiàn)簡單的REST API ................................................................. 139

內(nèi)容協(xié)商 ................................................................................................................... 142

xii | 目錄

讀寫二進(jìn)制數(shù)據(jù) ................................................................................................ 142

Google Protocol Buffers .................................................................................... 145

錯誤處理 ................................................................................................................... 150

超媒體 ....................................................................................................................... 152

媒體類型和模式 ................................................................................................ 158

API 版本 ................................................................................................................... 159

編寫REST API 文檔 ................................................................................................. 162

客戶端 ....................................................................................................................... 167

用于臨時瀏覽和交互的REST 客戶端 ............................................................... 167

RestTemplate ..................................................................................................... 171

總結(jié) .......................................................................................................................... 177

第7 章 路由.................................................................... 179

DiscoveryClient 接口 ................................................................................................ 180

Cloud Foundry Route 服務(wù) ........................................................................................ 190

總結(jié) .......................................................................................................................... 195

第8 章 邊緣服務(wù)............................................................... 197

Greetings 服務(wù) .......................................................................................................... 198

一個簡單的邊緣服務(wù) ................................................................................................ 200

Netflix Feign ............................................................................................................. 202

使用Netflix Zuul 進(jìn)行過濾和代理 ........................................................................... 204

自定義Zuul 過濾器 ........................................................................................... 214

邊緣服務(wù)的安全 ........................................................................................................ 218

OAuth ....................................................................................................................... 219

服務(wù)端應(yīng)用程序 ................................................................................................ 220

HTML5 和JavaScript 單頁面應(yīng)用程序 ............................................................. 221

沒有用戶的應(yīng)用 ................................................................................................ 221

受信任的客戶端 ................................................................................................ 221

Spring Security .......................................................................................................... 222

Spring Cloud Security ............................................................................................... 227

一個Spring Security OAuth 授權(quán)服務(wù)器 ........................................................... 227

保護(hù)Greetings 資源服務(wù)器的安全 .................................................................... 232

創(chuàng)建一個受OAuth 保護(hù)的單頁面應(yīng)用程序 ...................................................... 238

總結(jié) .......................................................................................................................... 247

目錄 | xiii

第Ⅲ部分 數(shù)據(jù)整合

第9 章 數(shù)據(jù)管理............................................................... 251

數(shù)據(jù)建模 ................................................................................................................... 251

關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBMS) ...................................................................... 252

NoSQL............................................................................................................... 253

Spring Data ............................................................................................................... 253

Spring Data 應(yīng)用程序的結(jié)構(gòu) ............................................................................. 254

域類 ................................................................................................................... 254

庫 ...................................................................................................................... 254

為領(lǐng)域數(shù)據(jù)組織Java 包 .................................................................................... 255

使用JDBC 訪問RDBMS 數(shù)據(jù) ................................................................................. 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

總結(jié) .......................................................................................................................... 302

第10 章 消息系統(tǒng)............................................................. 303

Spring Integration 的事件驅(qū)動架構(gòu) ........................................................................... 304

消息端點(diǎn) ........................................................................................................... 305

使用簡單的組件構(gòu)建復(fù)雜的系統(tǒng) ...................................................................... 306

消息代理、橋接、競爭消費(fèi)者模式和事件溯源 ....................................................... 314

發(fā)布—訂閱目的地 ............................................................................................ 314

點(diǎn)對點(diǎn)目的地 .................................................................................................... 315

xiv | 目錄

Spring Cloud Stream ................................................................................................. 315

流生產(chǎn)者 ........................................................................................................... 316

流消費(fèi)者 ........................................................................................................... 321

總結(jié) .......................................................................................................................... 323

第11 章 批處理和任務(wù)........................................................ 325

批處理工作 ............................................................................................................... 325

Spring Batch .............................................................................................................. 326

我們的第一個批處理作業(yè) ................................................................................. 327

調(diào)度 .......................................................................................................................... 336

通過消息傳遞遠(yuǎn)程分區(qū)Spring 批處理作業(yè) .............................................................. 337

任務(wù)管理 ................................................................................................................... 346

通過Workflow 進(jìn)行的以工作流為中心的整合 ......................................................... 348

使用消息傳遞的分布式............................................................................................. 362

總結(jié) .......................................................................................................................... 362

第12 章 數(shù)據(jù)集成............................................................. 363

分布式事務(wù) ............................................................................................................... 364

故障隔離和優(yōu)雅的降級............................................................................................. 364

saga 模式 ................................................................................................................... 369

CQRS(命令查詢責(zé)任分離) .................................................................................... 369

投訴API ............................................................................................................ 371

投訴統(tǒng)計(jì)API .................................................................................................... 383

Spring Cloud Data Flow ............................................................................................ 385

Stream ............................................................................................................... 387

任務(wù) ................................................................................................................... 390

REST API .......................................................................................................... 391

實(shí)現(xiàn)Data Flow 客戶端 ...................................................................................... 392

總結(jié) .......................................................................................................................... 407

第IV 部分 生產(chǎn)

第13 章 可觀測的系統(tǒng)....................................................... 411

你構(gòu)建,你運(yùn)行 ........................................................................................................ 412

目錄 | xv

謀殺神秘微服務(wù) ........................................................................................................ 413

十二要素運(yùn)維 ........................................................................................................... 413

新方式 ....................................................................................................................... 414

可觀測性 ................................................................................................................... 416

推與拉的可觀測性和解析率 ..................................................................................... 416

使用Spring Boot Actuator 捕獲應(yīng)用程序的當(dāng)前狀態(tài) ............................................... 417

度量 .......................................................................................................................... 418

通過/info 端點(diǎn)識別服務(wù) ........................................................................................... 431

健康檢查 ................................................................................................................... 432

審計(jì)事件 ................................................................................................................... 436

應(yīng)用程序日志 ........................................................................................................... 439

指定日志輸出 .................................................................................................... 440

指定日志級別 .................................................................................................... 441

分布式跟蹤 ............................................................................................................... 445

用Spring Cloud Sleuth 尋找線索 ...................................................................... 446

多少數(shù)據(jù)是足夠的 ............................................................................................ 447

OpenZipkin :一張圖片勝過千絲萬縷 ............................................................... 448

跟蹤其他平臺和技術(shù) ......................................................................................... 454

儀表板 ....................................................................................................................... 455

使用Hystrix 儀表板監(jiān)控下游服務(wù) .................................................................... 455

Codecentric 的Spring Boot Admin .................................................................... 459

Ordina Microservices 儀表板 ............................................................................. 462

Pivotal Cloud Foundry 的AppsManager ............................................................ 463

修復(fù) .......................................................................................................................... 465

總結(jié) .......................................................................................................................... 467

第14 章 服務(wù)代理.............................................................469

創(chuàng)建后臺服務(wù) ........................................................................................................... 470

平臺視圖 ................................................................................................................... 472

使用Spring Cloud Cloud Foundry Service Broker 實(shí)現(xiàn)服務(wù)代理 ............................... 473

簡單的Amazon S3 服務(wù)代理 ............................................................................ 473

服務(wù)目錄 ........................................................................................................... 474

管理服務(wù)實(shí)例 .................................................................................................... 476

服務(wù)綁定 ........................................................................................................... 482

保護(hù)服務(wù)代理 .................................................................................................... 486

xvi | 目錄

部署 .......................................................................................................................... 487

使用BOSH 發(fā)布 ............................................................................................... 487

使用Cloud Foundry 發(fā)布 .................................................................................. 488

注冊Amazon S3 Service Broker ............................................................................... 489

創(chuàng)建Amazon S3 服務(wù)實(shí)例 ........................................................................................ 490

消費(fèi)服務(wù)實(shí)例 .................................................................................................... 491

S3 客戶端應(yīng)用程序 ................................................................................................... 493

運(yùn)行測試 ................................................................................................................... 496

總結(jié) .......................................................................................................................... 496

第15 章 持續(xù)交付.............................................................497

持續(xù)集成之外 ........................................................................................................... 497

John Allspaw 在Flickr 以及后來的Etsy ........................................................... 498

Netflix 的Adrian Cockroft ................................................................................ 499

亞馬遜的持續(xù)交付 ............................................................................................ 500

流水線 ....................................................................................................................... 500

測試 .......................................................................................................................... 501

持續(xù)交付微服務(wù) ........................................................................................................ 502

工具 .......................................................................................................................... 503

Concourse ................................................................................................................. 503

容器 ................................................................................................................... 504

持續(xù)交付微服務(wù) ........................................................................................................ 504

安裝Concourse ................................................................................................. 505

基本的管道設(shè)計(jì) ................................................................................................ 506

持續(xù)集成 ........................................................................................................... 518

消費(fèi)者驅(qū)動的協(xié)約測試............................................................................................. 518

User 微服務(wù)流水線 ............................................................................................ 519

數(shù)據(jù) .......................................................................................................................... 522

生產(chǎn) .......................................................................................................................... 523

第V 部分 附錄

附錄A 在Java EE 中使用Spring Boot................................527

索引............................................................................... 552"


本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號