欢迎光临
免费的PDF电子书下载网站

新版Spring开发三剑客:Spring实战第5版+Spring boot实战+Spring微服务实战 PDF下载

编辑推荐

这是一套写给Java开发者的经典教程。图书源自Manning公司经典“小人书”系列,被称为“Spring开发三剑客”,是Java开发者全面掌握Spring框架以及微服务开发的经典书籍。《Spring实战 第5版》编辑推荐:全球有超过100 000名开发者使用本书来学习Spring畅销经典Spring技术图书,针对Spring 5全面升级Spring框架能够让Java开发人员的工作更加轻松。Spring 5的新特性通过微服务、反应式开发进一步提升了生产效率。随着与Spring Boot的全面集成,我们现在用*少的配置就可以启动复杂的项目。全新升级的WebFlux框架对反应式应用程序提供了开箱即用的支持。本书继续以众所周知的清晰风格,介绍了Spring 5的核心特性。你将亲自动手,逐步构建出一个安全的、以数据库作为支撑的Web应用。在这个过程中,你还将会探索反应式编程、微服务、服务发现、RESTful API、部署并掌握专家级的*实践。无论你是Spring的初学者,还是想要升级到Spring 5,本书都不容错过。

这是一套写给Java开发者的经典教程。图书源自Manning公司经典“小人书”系列,被称为“Spring开发三剑客”,是Java开发者全面掌握Spring框架以及微服务开发的经典书籍。

《Spring实战 第5版》编辑推荐:

全球有超过100 000名开发者使用本书来学习Spring

畅销经典Spring技术图书,针对Spring 5全面升级

Spring框架能够让Java开发人员的工作更加轻松。Spring 5的新特性通过微服务、反应式开发进一步提升了生产效率。随着与Spring Boot的全面集成,我们现在用*少的配置就可以启动复杂的项目。全新升级的WebFlux框架对反应式应用程序提供了开箱即用的支持。

本书继续以众所周知的清晰风格,介绍了Spring 5的核心特性。你将亲自动手,逐步构建出一个安全的、以数据库作为支撑的Web应用。在这个过程中,你还将会探索反应式编程、微服务、服务发现、RESTful API、部署并掌握专家级的*实践。无论你是Spring的初学者,还是想要升级到Spring 5,本书都不容错过。

本书包含一下内容

·构建反应式应用;

· 使用Spring MVC构建Web应用和RESTful Web服务;

·使用Spring Security保护应用;

· Spring 5新特性。

专家推荐

《Spring实战(第5版)》进行了全面的升级,兼顾了实战指南和综合理论。

——Daniel Vaughan

European Bioinformatics Institute

学习Spring框架的很棒的参考指南。

——Colin Joyce,Cisco

本书包含了你需要掌握的所有关于Spring的知识,并且涵盖了如何构建云原生应用。

—— David Witherspoon,Parsons

本书堪称Spring开发人员的“瑞士军刀”。

——Riccardo Noviello

Nuvio Software Solutions

《Spring boot实战》编辑推荐:
Spring改变了企业级Java应用开发方式,让Java开发更简单、高效;Sping Boot作为Spring开发的黄金助手,则在这个基础上,让开发 者的生活更上一个台阶!

本书是Spring Boot的终 极指南,以自动配置、起步依赖、命令行界面和Actuator这四个核心特性为基础,深入介绍Spring Boot的用法,让所有Java开发人员不费吹灰之力就构建出满足生产需求的服务,真正享受技术达人的乐趣!

《Spring微服务实战》编辑推荐:
微服务将代码分解为小型的、分布式的独立服务,这些服务需要深谋远虑和仔细设计。Spring Boot和Spring Cloud简化了微服务应用程序。就像Spring框架简化了企业级Java开发一样,Spring Boot移除了与编写基于REST的服务有关的样板代码。Spring Cloud提供了一套工具,用于微服务发现、路由以及将微服务部署到企业和云中。

本书教读者如何使用Java和Spring平台构建基于微服务的应用程序。在构建和部署*个Spring Cloud应用程序时,读者将学习如何进行微服务设计。在本书中,精心挑选的真实案例展示了基于微服务的各种模式,这些模式用于配置、路由、扩展和部署服务。读者将了解Spring易于使用的工具,并看到其如何助力用微服务来增强和重构现有的应用程序。

本书主要内容

● 核心微服务设计原则。

● 使用Spring Cloud Config管理配置。

● 使用Spring、Hystrix和Ribbon实现客户端弹性。

● 使用Netflix Zuul进行智能路由。

● 部署Spring Cloud应用程序。

本书是为具有Java和Spring经验的开发人员编写的。

 

 

内容简介

《Spring实战 第5版》内容简介:本书是一本经典而实用的畅销Spring 学习指南。第5 版涵盖了Spring 5.0 和Spring Boot 2.0 里程碑式的更新。全书分为5 个部分,共19 章。第1 部分(第1~5 章)涵盖了构建Spring 应用的基础话题。第2 部分(第6~9章)讨论如何将Spring 应用与其他应用进行集成。第3 部分(第10~12 章)探讨Spring对反应式编程提供的全新支持。第4 部分(第13~15 章)拆分单体应用模型,介绍SpringCloud 和微服务开发。第5 部分(第16~19 章)讨论如何为应用投入生产环境做准备以及如何进行部署。本书既适合刚开始学习Spring Boot 和Spring 框架的Java 开发人员快速上手,也适合经验丰富的Spring 开发人员学习Spring 的新特性,尤其适用于企业级Java 开发人员。

《Spring实战 第5版》内容简介:

本书是一本经典而实用的畅销Spring 学习指南。

第5 版涵盖了Spring 5.0 和Spring Boot 2.0 里程碑式的更新。全书分为5 个部分,共19 章。第1 部分(第1~5 章)涵盖了构建Spring 应用的基础话题。第2 部分(第6~9章)讨论如何将Spring 应用与其他应用进行集成。第3 部分(第10~12 章)探讨Spring对反应式编程提供的全新支持。第4 部分(第13~15 章)拆分单体应用模型,介绍SpringCloud 和微服务开发。第5 部分(第16~19 章)讨论如何为应用投入生产环境做准备以及如何进行部署。

本书既适合刚开始学习Spring Boot 和Spring 框架的Java 开发人员快速上手,也适合经验丰富的Spring 开发人员学习Spring 的新特性,尤其适用于企业级Java 开发人员。

《Spring boot实战》内容简介:
本书以Spring应用程序开发为中心,全面讲解如何运用Spring Boot提高效率,使应用程序的开发和管理更加轻松有趣。作者行文亲切流畅,以大量示例讲解了Spring Boot在各类情境中的应用,内容涵盖起步依赖、Spring Boot CLI、Groovy、Grails、Actuator。对于Spring Boot开发应用中较为繁琐的内容,附录奉上整理完毕的表格,一目了然,方便读者查阅。

《Spring微服务实战》内容简介:
本书以一个名为EagleEye的项目为主线,介绍云、微服务等概念以及Spring Boot和Spring Cloud等诸多Spring项目,并介绍如何将EagleEye项目一步一步地从单体架构重构成微服务架构,进而将这个项目拆分成众多微服务,让它们运行在各自的Docker容器中,实现持续集成/持续部署,并*终自动部署到云环境(Amazon)中。针对在重构过程中遇到的各种微服务开发会面临的典型问题(包括开发、测试和运维等问题),本书介绍了解决这些问题的核心模式,以及在实战中如何选择特定Spring Cloud子项目或其他工具解决这些问题。

本书适合拥有构建分布式应用程序的经验、拥有Spring的知识背景以及对学习构建基于微服务的应用程序感兴趣的Java开发人员阅读。对于希望使用微服务构建基于云的应用程序,以及希望了解如何将基于微服务的应用部署到云上的开发人员,本书也具有很好的学习参考价值。

 

作者简介

暂无

新版Spring开发三剑客:Spring实战第5版+Spring boot实战+Spring微服务实战 PDF下载

目录

《Spring实战 第5版》目录



第 1 部分 Spring 基础

第 1 章 Spring 起步 3

1.1 什么是Spring 4

1.2 初始化Spring 应用 6

1.2.1 使用Spring Tool Suite

初始化Spring 项目 7

1.2.2 检查Spring 项目的

结构 10

1.3 编写Spring 应用 16

1.3.1 处理Web 请求 16

1.3.2 定义视图 17

1.3.3 测试控制器 18

1.3.4 构建和运行应用 20

1.3.5 了解Spring Boot DevTools 21

1.3.6 回顾一下 23

1.4 俯瞰Spring 风景线 24

1.4.1 Spring 核心框架 24

1.4.2 Spring Boot 25

1.4.3 Spring Data 25

1.4.4 Spring Security 25

1.4.5 Spring Integration 和Spring

Batch 26

1.4.6 Spring Cloud 26

1.5 小结 26

第 2 章 开发Web 应用 27

2.1 展现信息 27

2.1.1 构建领域类 28

2.1.2 创建控制器类 30

2.1.3 设计视图 33

2.2 处理表单提交 37

2.3 校验表单输入 43

2.3.1 声明校验规则 43

2.3.2 在表单绑定的时候执行

校验 45

2.3.3 展现校验错误 46

2.4 使用视图控制器 48

2.5 选择视图模板库 49

2.6 小结 52

第3 章 使用数据 53

3.1 使用JDBC 读取和写入

数据 53

3.1.1 调整领域对象以适应

持久化 55

3.1.2 使用JdbcTemplate 56

3.1.3 定义模式和预加载数据 61

3.1.4 插入数据 63

3.2 使用Spring Data JPA 持久

化数据 72

3.2.1 添加Spring Data JPA 到

项目中 72

3.2.2 将领域对象标注为实体 73

3.2.3 声明JPA repository 76

3.2.4 自定义JPA repository 77

3.3 小结 80

第4 章 保护Spring 81

4.1 启用Spring Security 81

4.2 配置Spring Security 83

4.2.1 基于内存的用户存储 85

4.2.2 基于JDBC 的用户存储 86

4.2.3 以LDAP 作为后端的

用户存储 89

4.2.4 自定义用户认证 92

4.3 保护Web 请求 100

4.3.1 保护请求 100

4.3.2 创建自定义的登录页 103

4.3.3 退出 105

4.3.4 防止跨站请求伪造 106

4.4 了解用户是谁 107

4.5 小结 109

第5 章 使用配置属性 111

5.1 细粒度的自动配置 112

5.1.1 理解Spring 的环境抽象 112

5.1.2 配置数据源 114

5.1.3 配置嵌入式服务器 115

5.1.4 配置日志 116

5.1.5 使用特定的属性值 118

5.2 创建自己的配置属性 118

5.2.1 定义配置属性的持有者 120

5.2.2 声明配置属性元数据 123

5.3 使用profile 进行配置 125

5.3.1 定义特定profile 的属性 126

5.3.2 激活profile 127

5.3.3 使用profile 条件化地创建

bean 128

5.4 小结 129

第2部分 Spring 集成

第6 章 创建REST 服务 133

6.1 编写RESTful 控制器 134

6.1.1 从服务器中检索数据 136

6.1.2 发送数据到服务器端 140

6.1.3 在服务器上更新数据 142

6.1.4 删除服务器上的数据 144

6.2 启用超媒体 145

6.2.1 添加超链接 147

6.2.2 创建资源装配器 149

6.2.3 命名嵌套式的关联关系 154

6.3 启用数据后端服务 155

6.3.1 调整资源路径和关系

名称 157

6.3.2 分页和排序 159

6.3.3 添加自定义的端点 160

6.3.4 为Spring Data 端点添加

自定义的超链接 162

6.4 小结 163

第7 章 消费REST 服务 165

7.1 使用RestTemplate 消费

REST 端点 166

7.1.1 GET 资源 167

7.1.2 PUT 资源 169

7.1.3 DELETE 资源 169

7.1.4 POST 资源 169

7.2 使用Traverson 导航

REST API 170

7.3 小结 172

第8 章 发送异步消息 173

8.1 使用JMS 发送消息 174

8.1.1 搭建JMS 环境 174

8.1.2 使用JmsTemplate 发送

消息 176

8.1.3 接收JMS 消息 183

8.2 使用RabbitMQ 和

AMQP 186

8.2.1 添加RabbitMQ 到

Spring 中 188

8.2.2 通过RabbitTemplate 发送

消息 189

8.2.3 接收来自RabbitMQ 的

消息 192

8.3 使用Kafka 的消息 196

8.3.1 为Spring 搭建支持Kafka

消息的环境 197

8.3.2 通过KafkaTemplate 发送

消息 198

8.3.3 编写Kafka 监听器 200

8.4 小结 201

第9 章 Spring 集成 203

9.1 声明一个简单的

集成流 204

9.1.1 使用XML 定义集成流 205

9.1.2 使用Java 配置集成流 207

9.1.3 使用Spring Integration 的

DSL 配置 209

9.2 Spring Integration 功能

概览 210

9.2.1 消息通道 211

9.2.2 过滤器 212

9.2.3 转换器 213

9.2.4 路由器 214

9.2.5 切分器 216

9.2.6 服务激活器 218

9.2.7 网关 220

9.2.8 通道适配器 221

9.2.9 端点模块 223

9.3 创建Email 集成流 224

9.4 小结 229

第3部分 反应式Spring

第 10 章 理解反应式编程 233

10.1 反应式编程概览 234

10.2 初识Reactor 237

10.2.1 绘制反应式流图 238

10.2.2 添加Reactor 依赖 239

10.3 使用常见的反应式

操作 240

10.3.1 创建反应式类型 240

10.3.2 组合反应式类型 244

10.3.3 转换和过滤反应式流 248

10.3.4 在反应式类型上执行逻辑

操作 258

10.4 小结 259

第 11 章 开发反应式API 261

11.1 使用Spring WebFlux 261

11.1.1 Spring WebFlux 简介 262

11.1.2 编写反应式控制器 264

11.2 定义函数式请求处

理器 268

11.3 测试反应式控制器 271

11.3.1 测试GET 请求 271

11.3.2 测试POST 请求 274

11.3.3 使用实时服务器进行

测试 275

11.4 反应式消费

REST API 276

11.4.1 获取资源 277

11.4.2 发送资源 279

11.4.3 删除资源 280

11.4.4 处理错误 280

11.4.5 交换请求 282

11.5 保护反应式Web API 283

11.5.1 配置反应式Web 应用的

安全性 284

11.5.2 配置反应式的用户详情

服务 285

11.6 小结 287

第 12 章 反应式持久化数据 289

12.1 理解Spring Data 的

反应式概况 290

12.1.1 Spring Data 反应式本

质论 290

12.1.2 反应式和非反应式类型

之间的转换 291

12.1.3 开发反应式repository 292

12.2 使用反应式的

Cassandra repository 293

12.2.1 启用Spring Data

Cassandra 293

12.2.2 理解Cassandra 的数据

模型 296

12.2.3 将领域对象映射为Cassandra

持久化 296

12.2.4 编写反应式

Cassandra repository 301

12.3 编写反应式的

MongoDB repository 304

12.3.1 启用Spring Data

MongoDB 304

12.3.2 将领域对象映射为

文档 306

12.3.3 编写反应式的MongoDB

repository 接口 309

12.4 小结 312

第4 部分 云原生Spring

第 13 章 注册和发现服务 315

13.1 思考微服务 316

13.2 搭建服务注册中心 318

13.2.1 配置Eureka 321

13.2.2 扩展Eureka 324

13.3 注册和发现服务 325

13.3.1 配置Eureka 客户端

属性 326

13.3.2 消费服务 328

13.4 小结 332

第 14 章 管理配置 333

14.1 共享配置 334

14.2 运行配置服务器 335

14.2.1 启用配置服务器 336

14.2.2 填充配置仓库 339

14.3 消费共享配置 341

14.4 提供特定应用和profile 的

属性 343

14.4.1 提供特定应用的属性 343

14.4.2 提供来自profile 的

属性 344

14.5 保持配置属性的

私密性 346

14.5.1 在Git 中加密属性 346

14.5.2 在Vault 中存储私密

信息 349

14.6 在运行时刷新配置

属性 353

14.6.1 手动刷新配置属性 354

14.6.2 自动刷新配置属性 356

14.7 小结 363

第 15 章 处理失败和延迟 365

15.1 理解断路器模式 365

15.2 声明断路器 367

15.2.1 缓解延迟 369

15.2.2 管理断路器的阈值 371

15.3 监控失败 372

15.3.1 Hystrix dashboard

简介 373

15.3.2 理解Hystrix 的线程

模型 375

15.4 聚合多个Hystrix 流 377

15.5 小结 378

第5 部分 部署Spring

第 16 章 使用Spring Boot

Actuator 381

16.1 Actuator 概览 382

16.1.1 配置Actuator 的基础

路径 383

16.1.2 启用和禁用Actuator

端点 383

16.2 消费Actuator 端点 384

16.2.1 获取应用的基础信息 385

16.2.2 查看配置细节 388

16.2.3 查看应用的活动 396

16.2.4 获取应用的指标 398

16.3 自定义Actuator 401

16.3.1 为“/info”端点提供信息 401

16.3.2 实现自定义的健康

指示器 405

16.3.3 注册自定义的指标 407

16.3.4 创建自定义的端点 408

16.4 保护Actuator 411

16.5 小结 413

第 17 章 管理Spring 415

17.1 使用Spring Boot

Admin 415

17.1.1 创建Admin 服务器 416

17.1.2 注册Admin 客户端 418

17.2 探索Admin 服务器 421

17.2.1 查看应用基本的健康状况

和信息 421

17.2.2 观察核心指标 423

17.2.3 探查环境属性 424

17.2.4 查看和设置日志

级别 424

17.2.5 监控线程 425

17.2.6 跟踪HTTP 请求 426

17.3 保护Admin 服务器 428

17.3.1 为Admin 服务器启用登录

功能 428

17.3.2 为Actuator 启用认证 429

17.4 小结 429

第 18 章 使用JMX 监控

Spring 431

18.1 使用Actuator MBean 431

18.2 创建自己的MBean 434

18.3 发送通知 436

18.4 小结 437

第 19 章 部署Spring 439

19.1 权衡各种部署方案 440

19.2 构建和部署WAR

文件 441

19.3 推送JAR 文件到Cloud

Foundry 上 443

19.4 在Docker 容器中运行

Spring Boot 445

19.5 以终为始 449

19.6 小结 449

附录 初始化Spring 应用 451

A.1 使用Spring Tool Suite

初始化项目 451

A.2 使用IntelliJ IDEA 初始化

项目 454

A.3 使用NetBeans 初始化

项目 457

A.4 在start.spring.io 中初始化

项目 459

A.5 使用命令行初始化

项目 462

A.5.1 curl 和Initializr API 462

A.5.2 Spring Boot 命令行

接口 464

A.6 使用元框架创建Spring

应用 465

A.7 构建和运行项目 465


《Spring boot实战》目录



第 1 章 入门 ...................................  1

1.1 Spring 风云再起 ............................. 1

1.1.1 重新认识 Spring ............................ 2

1.1.2 Spring Boot 精要 ........................... 3

1.1.3 Spring Boot 不是什么 ................... 6

1.2 Spring Boot 入门 ......................... 6

1.2.1 安装 Spring Boot CLI .................... 7

1.2.2 使用 Spring Initializr 初始化 Spring Boot 项目 ..... 10

1.3 小结 ................................... 18

第 2 章 开发第 一个应用程序 .................... 19

2.1 运用 Spring Boot ................... 19

2.1.1 查看初始化的 Spring Boot 新项目 ............ 21

2.1.2 Spring Boot 项目构建过程解析 ................. 24

2.2 使用起步依赖 ......................... 27

2.2.1 指定基于功能的依赖 ................... 28

2.2.2 覆盖起步依赖引入的传递依赖 .... 29

2.3 使用自动配置 ...................................... 30

2.3.1 专注于应用程序功能 ................... 31

2.3.2 运行应用程序 .............................. 36

2.3.3 刚刚发生了什么 ........................... 38

2.4 小结 ................................... 41

第 3 章 自定义配置 .................................... 42

3.1 覆盖 Spring Boot 自动配置 ..................... 42

3.1.1 保护应用程序 .............................. 43

3.1.2 创建自定义的安全配置 ............... 44

3.1.3 掀开自动配置的神秘面纱 ........... 48

3.2 通过属性文件外置配置 ........................... 49

3.2.1 自动配置微调 .............................. 50

3.2.2 应用程序 Bean 的配置外置 ......... 55

3.2.3 使用 Profile 进行配置 .................. 59

3.3 定制应用程序错误页面 ........................... 62

3.4 小结 ..................................... 64

第 4 章 测试 ............................... 66

4.1 集成测试自动配置 .................................. 66

4.2 测试 Web 应用程序 ................................. 68

4.2.1 模拟 Spring MVC ........................ 69

4.2.2 测试 Web 安全 ............................. 72

4.3 测试运行中的应用程序 ........................... 74

4.3.1 用随机端口启动服务器 ............... 75

4.3.2 使用 Selenium 测试 HTML 页面 ........................ 76

4.4 小结 ............................... 78

第 5 章 Groovy 与 Spring Boot CLI ......... 80

5.1 开发 Spring Boot CLI 应用程序 .............. 80

5.1.1 设置 CLI 项目 .............................. 81

5.1.2 通过 Groovy 消除代码噪声 ......... 81

5.1.3 发生了什么 .................................. 85

5.2 获取依赖 ............................... 86

5.2.1 覆盖默认依赖版本 ....................... 87

5.2.2 添加依赖仓库 .............................. 88

5.3 用 CLI 运行测试 ...................................... 89

5.4 创建可部署的产物 .................................. 91

5.5 小结 ............................... 91

第 6 章 在 Spring Boot 中使用 Grails ...... 93

6.1 使用 GORM 进行数据持久化 ................. 93

6.2 使用 Groovy Server Pages 定义视图 ....... 98

6.3 结合 Spring Boot 与 Grails 3 ................. 100

6.3.1 创建新的 Grails 项目 ................. 100

6.3.2 定义领域模型 ............................ 103

6.3.3 开发 Grails 控制器 ..................... 104

6.3.4 创建视图 .................................... 105

6.4 小结 .................................. 107

第 7 章 深入 Actuator .............................. 108

7.1 揭秘 Actuator 的端点 ............................ 108

7.1.1 查看配置明细 ............................ 109

7.1.2 运行时度量 ................................ 115

7.1.3 关闭应用程序 ............................ 121

7.1.4 获取应用信息 ............................ 121

7.2 连接 Actuator 的远程 shell .................... 122

7.2.1 查看 autoconfig 报告 ........... 123

7.2.2 列出应用程序的 Bean ............... 124

7.2.3 查看应用程序的度量信息 ......... 124

7.2.4 调用 Actuator 端点 .................... 125

7.3 通过 JMX 监控应用程序 ....................... 126

7.4 定制 Actuator ................................... 128

7.4.1 修改端点 ID ............................... 128

7.4.2 启用和禁用端点 ........................ 129

7.4.3 添加自定义度量信息 ................. 129

7.4.4 创建自定义跟踪仓库 ................. 132

7.4.5 插入自定义健康指示器 ............. 134

7.5 保护 Actuator 端点 ................................ 136

7.6 小结 ............................................. 138

第 8 章 部署 Spring Boot 应用程序 ........ 139

8.1 衡量多种部署方式 ................................ 139

8.2 部署到应用服务器 ................................ 140

8.2.1 构建 WAR 文件 ......................... 141

8.2.2 创建生产 Profile ........................ 142

8.2.3 开启数据库迁移 ........................ 145

8.3 推上云端 ........................................... 150

8.3.1 部署到 Cloud Foundry ............... 150

8.3.2 部署到 Heroku ........................... 153

8.4 小结 ............................................... 155

附录 A Spring Boot 开 发者工具 .............. 157

附录 B Spring Boot 起步依赖 ................. 163

附录 C 配置属性 ...................................... 169

附录 D Spring Boot 依赖 ......................... 202


《Spring微服务实战》目录

第 1章 欢迎迈入云世界,Spring 1

1.1 什么是微服务 1

1.2 什么是Spring,为什么它与微服务有关 4

1.3 在本书中读者会学到什么 5

1.4 为什么本书与你有关 6

1.5 使用Spring Boot来构建微服务 6

1.6 为什么要改变构建应用的方式 10

1.7 云到底是什么 11

1.8 为什么是云和微服务 13

1.9 微服务不只是编写代码 14

1.9.1 核心微服务开发模式 15

1.9.2 微服务路由模式 16

1.9.3 微服务客户端弹性模式 17

1.9.4 微服务安全模式 18

1.9.5 微服务日志记录和跟踪模式 19

1.9.6 微服务构建和部署模式 20

1.10 使用Spring Cloud构建微服务 22

1.10.1 Spring Boot 23

1.10.2 Spring Cloud Config 23

1.10.3 Spring Cloud服务发现 24

1.10.4 Spring Cloud与Netflix Hystrix和Netflix Ribbon 24

1.10.5 Spring Cloud与Netflix Zuul 24

1.10.6 Spring Cloud Stream 24

1.10.7 Spring Cloud Sleuth 24

1.10.8 Spring Cloud Security 25

1.10.9 代码供应 25

1.11 通过示例来介绍Spring Cloud 25

1.12 确保本书的示例是有意义的 27

1.13 小结 28

第 2章 使用Spring Boot构建微服务 29

2.1 架构师的故事:设计微服务架构 31

2.1.1 分解业务问题 31

2.1.2 建立服务粒度 32

2.1.3 互相交流:定义服务接口 35

2.2 何时不应该使用微服务 36

2.2.1 构建分布式系统的复杂性 36

2.2.2 服务器散乱 36

2.2.3 应用程序的类型 36

2.2.4 数据事务和一致性 37

2.3 开发人员的故事:用SpringBoot和Java构建微服务 37

2.3.1 从骨架项目开始 37

2.3.2 引导Spring Boot应用程序:编写引导类 39

2.3.3 构建微服务的入口:Spring Boot控制器 40

2.4 DevOps工程师的故事:构建运行时的严谨性 44

2.4.1 服务装配:打包和部署微服务 46

2.4.2 服务引导:管理微服务的配置 47

2.4.3 服务注册和发现:客户端如何与微服务通信 48

2.4.4 传达微服务的“健康状况” 49

2.5 将视角综合起来 51

2.6 小结 52

第3章 使用Spring Cloud配置服务器控制配置 53

3.1 管理配置(和复杂性) 54

3.1.1 配置管理架构 55

3.1.2 实施选择 56

3.2 构建Spring Cloud配置服务器 58

3.2.1 创建Spring Cloud Config引导类 61

3.2.2 使用带有文件系统的Spring Cloud配置服务器 62

3.3 将Spring Cloud Config与Spring Boot客户端集成 64

3.3.1 建立许可证服务对Spring Cloud Config服务器的依赖 65

3.3.2 配置许可证服务以使用Spring Cloud Config 66

3.3.3 使用Spring Cloud配置服务器连接数据源 69

3.3.4 使用@Value注解直接读取属性 72

3.3.5 使用Spring Cloud配置服务器和Git 73

3.3.6 使用Spring Cloud配置服务器刷新属性 73

3.4 保护敏感的配置信息 75

3.4.1 下载并安装加密所需的Oracle JCE jar 75

3.4.2 创建加密密钥 76

3.4.3 加密和解密属性 76

3.4.4 配置微服务以在客户端使用加密 78

3.5 最后的想法 79

3.6 小结 80

第4章 服务发现 81

4.1 我的服务在哪里 82

4.2 云中的服务发现 84

4.2.1 服务发现架构 84

4.2.2 使用Spring和Netflix Eureka进行服务发现实战 87

4.3 构建Spring Eureka服务 88

4.4 通过Spring Eureka注册服务 90

4.5 使用服务发现来查找服务 93

4.5.1 使用Spring DiscoveryClient查找服务实例 95

4.5.2 使用带有Ribbon功能的Spring RestTemplate调用服务 97

4.5.3 使用Netflix Feign客户端调用服务 98

4.6 小结 100

第5章 使用Spring Cloud和NetflixHystrix的客户端弹性模式 101

5.1 什么是客户端弹性模式 102

5.1.1 客户端负载均衡模式 103

5.1.2 断路器模式 103

5.1.3 后备模式 103

5.1.4 舱壁模式 104

5.2 为什么客户端弹性很重要 104

5.3 进入Hystrix 107

5.4 搭建许可服务器以使用Spring Cloud和Hystrix 107

5.5 使用Hystrix实现断路器 109

5.5.1 对组织微服务的调用超时 111

5.5.2 定制断路器的超时时间 112

5.6 后备处理 113

5.7 实现舱壁模式 115

5.8 基础进阶—微调Hystrix 118

5.9 线程上下文和Hystrix 122

5.9.1 ThreadLocal与Hystrix 122

5.9.2 HystrixConcurrencyStrategy实战 125

5.10 小结 129

第6章 使用Spring Cloud和Zuul进行服务路由 131

6.1 什么是服务网关 132

6.2 Spring Cloud和Netflix Zuul简介 133

6.2.1 建立一个Zuul Spring Boot项目 134

6.2.2 为Zuul服务使用Spring Cloud注解 134

6.2.3 配置Zuul与Eureka进行通信 135

6.3 在Zuul中配置路由 135

6.3.1 通过服务发现自动映射路由 136

6.3.2 使用服务发现手动映射路由 137

6.3.3 使用静态URL手动映射路由 140

6.3.4 动态重新加载路由配置 142

6.3.5 Zuul和服务超时 143

6.4 Zuul的真正威力:过滤器 144

6.5 构建第 一个生成关联ID的Zuul前置过滤器 147

6.6 构建接收关联ID的后置过滤器 155

6.7 构建动态路由过滤器 157

6.7.1 构建路由过滤器的骨架 159

6.7.2 实现run()方法 159

6.7.3 转发路由 161

6.7.4 整合 162

6.8 小结 163

第7章 保护微服务 164

7.1 OAuth2简介 165

7.2 从小事做起:使用Spring和OAuth2来保护单个端点 167

7.2.1 建立EagleEye OAuth2验证服务 167

7.2.2 使用OAuth2服务注册客户端应用程序 168

7.2.3 配置EagleEye用户 171

7.2.4 验证用户 172

7.3 使用OAuth2保护组织服务 175

7.3.1 将Spring Security和OAuth2 jar添加到各个服务 176

7.3.2 配置服务以指向OAuth2验证服务 176

7.3.3 定义谁可以访问服务 177

7.3.4 传播OAuth2访问令牌 180

7.4 JSON Web Token与OAuth2 183

7.4.1 修改验证服务以颁发JWT令牌 184

7.4.2 在微服务中使用JWT 188

7.4.3 扩展JWT令牌 189

7.4.4 从JWT令牌中解析自定义字段 191

7.5 关于微服务安全的总结 193

7.6 小结 195

第8章 使用Spring Cloud Stream的事件驱动架构 196

8.1 为什么使用消息传递、EDA和微服务 197

8.1.1 使用同步请求-响应方式来传达状态变化 198

8.1.2 使用消息传递在服务之间传达状态更改 199

8.1.3 消息传递架构的缺点 201

8.2 Spring Cloud Stream简介 202

8.3 编写简单的消息生产者和消费者 205

8.3.1 在组织服务中编写消息生产者 205

8.3.2 在许可证服务中编写消息消费者 210

8.3.3 在实际操作中查看消息服务 213

8.4 Spring Cloud Stream用例:分布式缓存 214

8.4.1 使用Redis来缓存查找 215

8.4.2 定义自定义通道 221

8.4.3 将其全部汇集在一起:在收到消息时清除缓存 222

8.5 小结 223

第9章 使用Spring Cloud Sleuth和Zipkin进行分布式跟踪 224

9.1 Spring Cloud Sleuth与关联ID 225

9.1.1 将Spring Cloud Sleuth添加到许可证服务和组织服务中 226

9.1.2 剖析Spring Cloud Sleuth跟踪 226

9.2 日志聚合与Spring Cloud Sleuth 227

9.2.1 Spring Cloud Sleuth与Papertrail实现实战 229

9.2.2 创建Papertrail账户并配置syslog连接器 230

9.2.3 将Docker输出重定向到Papertrail 232

9.2.4 在Papertrail中搜索Spring Cloud Sleuth的跟踪ID 234

9.2.5 使用Zuul将关联ID添加到HTTP响应 235

9.3 使用Open Zipkin进行分布式跟踪 237

9.3.1 添加Spring Cloud Sleuth和Zipkin依赖项 238

9.3.2 配置服务以指向Zipkin 238

9.3.3 安装和配置Zipkin服务器 239

9.3.4 设置跟踪级别 240

9.3.5 使用Zipkin跟踪事务 241

9.3.6 可视化更复杂的事务 243

9.3.7 捕获消息传递跟踪 244

9.3.8 添加自定义跨度 246

9.4 小结 248

第 10章 部署微服务 250

10.1 EagleEye:在云中建立核心基础设施 251

10.1.1 使用亚马逊的RDS创建PostgreSQL数据库 253

10.1.2 在AWS中创建Redis集群 257

10.1.3 创建ECS集群 258

10.2 超越基础设施:部署EagleEye 262

10.3 构建和部署管道的架构 265

10.4 构建和部署管道实战 268

10.5 开始构建和部署管道:GitHub和Travis CI 270

10.6 使服务能够在Travis CI中构建 270

10.6.1 构建的核心运行时配置 273

10.6.2 安装预构建工具 275

10.6.3 执行构建 277

10.6.4 标记源代码 277

10.6.5 构建微服务并创建Docker镜像 279

10.6.6 将镜像推送到Docker Hub 279

10.6.7 在Amazon ECS中启动服务 280

10.6.8 启动平台测试 280

10.7 关于构建和部署管道的总结 282

10.8 小结 282

附录A 在桌面运行云服务 283

附录B OAuth2授权类型 291

 

新版Spring开发三剑客:Spring实战第5版+Spring boot实战+Spring微服务实战 pdf下载声明

本pdf资料下载仅供个人学习和研究使用,不能用于商业用途,请在下载后24小时内删除。如果喜欢,请购买正版

pdf下载地址

版权归出版社和作者所有,下载链接已删除。如果喜欢,请购买正版!

链接地址:新版Spring开发三剑客:Spring实战第5版+Spring boot实战+Spring微服务实战