《云原生Java SpingBoot SpringCloud与CloudFoundry弹性系统设》PDF下载

  • 购买积分:17 如何计算积分?
  • 作  者:(美)Josh,Long(乔西·朗),Kenny,Bastani(肯尼·巴斯塔尼)著,张若飞,宋净超译
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2018
  • ISBN:9787121342516
  • 页数:552 页
图书介绍:本书可用于了解、学习Spring Boot微框架,从而帮助开发现代的、云就绪的JVM应用以及应对多种环境的微服务。本书实践性较强,你将学到开启Spring Boot相关工作的所有知识。云是与我们每个人息息相关,而不仅仅是谷歌、亚马逊、推特及Netflix这样的开拓者,Spring Boot和Spring Cloud提供了使云架构商业化的最佳工具。本书即介绍了如何运用Spring Boot建设一个模块化的、高度可扩展的应用。

第Ⅰ部分 基础知识 3

第1章 云原生应用程序 3

亚马逊的故事 3

平台的承诺 5

模式 7

可扩展性 7

可靠性 8

敏捷性 8

Netflix的故事 9

微服务 11

拆分单体系统 12

Netflix OSS 13

云原生Java 14

十二要素原则 14

代码库 15

依赖 15

配置 16

后端服务 17

构建、发布、运行 17

进程 17

端口绑定 18

并发 18

易处理 18

开发/生产环境一致 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创建一个新项目 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

可刷新的配置 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

迁移应用程序环境 116

开箱即用的构建包(Buildpacks) 116

自定义的构建包 117

容器化的应用程序 118

将应用程序迁移到云上的微重构 119

连接后端服务 120

用Spring实现服务平等 121

总结 133

第Ⅱ部分 Web服务 137

第6章 RESTAPI 137

伦纳德·理查森的成熟模型 137

使用Spring MVC实现简单的REST API 139

内容协商 142

读写二进制数据 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

创建一个受 OAuth保护的单页面应用程序 238

总结 247

第Ⅲ部分 数据整合 251

第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

发布—订阅目的地 314

点对点目的地 315

Spring Cloud Stream 315

流生产者 316

流消费者 321

总结 323

第11章 批处理和任务 325

批处理工作 325

Spring Batch 326

我们的第一个批处理作业 327

调度 336

通过消息传递远程分区Spring批处理作业 337

任务管理 346

通过Workflow进行的以工作流为中心的整合 348

使用消息传递的分布式 362

总结 362

第12章 数据集成 363

分布式事务 364

故障隔离和优雅的降级 364

saga模式 369

CQRS(命令查询责任分离) 369

投诉API 371

投诉统计API 383

Spring Cloud Data Flow 385

Stream 387

任务 390

REST API 391

实现Data Flow客户端 392

总结 407

第Ⅳ部分 生产 411

第13章 可观测的系统 411

你构建,你运行 412

谋杀神秘微服务 413

十二要素运维 413

新方式 414

可观测性 416

推与拉的可观测性和解析率 416

使用Spring Boot Actuator捕获应用程序的当前状态 417

度量 418

通过/info端点识别服务 431

健康检查 432

审计事件 436

应用程序日志 439

指定日志输出 440

指定日志级别 441

分布式跟踪 445

用Spring Cloud Sleuth寻找线索 446

多少数据是足够的 447

OpenZipkin:一张图片胜过千丝万缕 448

跟踪其他平台和技术 454

仪表板 455

使用Hystrix仪表板监控下游服务 455

Codecentric的Spring Boot Admin 459

Ordma Microservices仪表板 462

Pivotal Cloud Foundry的AppsManager 463

修复 465

总结 467

第14章 服务代理 469

创建后台服务 470

平台视图 472

使用Spring Cloud Cloud Foundry Service Broker实现服务代理 473

简单的Amazon S3服务代理 473

服务目录 474

管理服务实例 476

服务绑定 482

保护服务代理 486

部署 487

使用BOSH发布 487

使用Cloud Foundry发布 488

注册Amazon S3 Service Broker 489

创建Amazon S3服务实例 490

消费服务实例 491

S3客户端应用程序 493

运行测试 496

总结 496

第15章 持续交付 497

持续集成之外 497

John Allspaw在Flickr以及后来的Etsy 498

Netflix的Adrian Cockroft 499

亚马逊的持续交付 500

流水线 500

测试 501

持续交付微服务 502

工具 503

Concourse 503

容器 504

持续交付微服务 504

安装Concourse 505

基本的管道设计 506

持续集成 518

消费者驱动的协约测试 518

User微服务流水线 519

数据 522

生产 523

第Ⅴ部分 附录 527

附录A 在Java EE中使用Spring Boot 527