包邮 微服务实战+ Spring实战第五5版 微服务与容器部署开发运维指南书pdf下载

包邮 微服务实战+ Spring实战第五5版 微服务与容器部署开发运维指南书百度网盘pdf下载

作者:
简介:包邮 微服务实战+ Spring实战第五5版 微服务与容器部署开发运维指南书
出版社:
出版时间:2020-02
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍




9787115529879 9787115527929

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 开发人员。




克雷格·沃斯(Craig Walls)是Pivotal的&席软件工程师、畅销书作者、Spring框架的热情支持者,经常在各种技术会议上发表演讲。




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 tui出 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 WebFlu 261
11.1.1 Spring WebFlu 简介 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 Hystri dashboard
简介 373
15.3.2 理解Hystri 的线程
模型 375
15.4 聚合多个Hystri 流 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



微服务实战

内容简介
《微服务实战》主要介绍如何开发和维护基于微服务的应用。本书源自作者从日常开发中得到的积累和感悟,其中给出的案例覆盖从微服务设计到部署的各个阶段,能够带给你真实的沉浸式体验。通过阅读本书,你不仅能够了解用微服务搭建高效的持续交付流水线的方法,还能够运用Kubernetes、Docker 以及Google Container Engine 进一步探索书中的示例。

目录
一部分 概述
 1章 微服务的设计与运行 3
1.1 什么是微服务应用 4
1.1.1 通过分解来实现扩展 6
1.1.2 核心原则 7
1.1.3 谁在使用微服务 9
1.1.4 为什么微服务是一个明智的选择 10
1.2 微服务的挑战 12
1.2.1 设计挑战 13
1.2.2 运维挑战 15
1.3 微服务开发生命周期 16
1.3.1 微服务设计 17
1.3.2 微服务部署 18
1.3.3 服务监控 21
1.4 有责任感和运维意识的工程师文化 22
1.5 小结 23
 2章 SimpleBank公司的微服务 24
2.1 SimpleBank公司的业务范围 24
2.2 微服务是否是正确的选择 25
2.2.1 金融软件的风险和惰性 26
2.2.2 减少阻力和持续交付价值 27
2.3 开发新功能 27
2.3.1 通过领域建模识别微服务 28
2.3.2 服务协作 30
2.3.3 服务编排 32
2.4 向外界开放服务 34
2.5 将功能发布到生产环境中 35
2.5.1 高质量的自动化部署 37
2.5.2 可恢复性 37
2.5.3 透明性 38
2.6 大规模微服务开发 39
2.6.1 技术分歧 40
2.6.2 孤立 40
2.7 接下来的内容 41
2.8 小结 41
二部分 设计
3章 微服务应用的架构 45
3.1 整体架构 45
3.1.1 从单体应用到微服务 46
3.1.2 架构师的角色 47
3.1.3 架构准则 47
3.1.4 微服务应用的4层架构 48
3.2 微服务平台 49
3.3 服务层 51
3.3.1 功能 51
3.3.2 聚合与多元服务 52
3.3.3 关键路径和非关键路径 53
3.4 通信 54
3.4.1 何时使用同步消息 54
3.4.2 何时使用异步消息 55
3.4.3 异步通信模式 55
3.4.4 服务定位 57
3.5 服务边界 58
3.5.1 API网关 60
3.5.2 服务于前端的后端 61
3.5.3 消费者驱动网关 62
3.6 客户端 63
3.6.1 前端单体 63
3.6.2 微前端 64
3.7 小结 65
4章 新功能设计 66
4.1 SimpleBank的新功能 67
4.2 按业务能力划分 68
4.2.1 能力和领域建模 69
4.2.2 创建投资策略 70
4.2.3 内嵌型上下文和服务 75
4.2.4 挑战和不足 76
4.3 按用例划分 77
4.3.1 按投资策略下单 77
4.3.2 动作和存储 82
4.3.3 编配与编排 83
4.4 按易变性划分 84
4.5 按技术能力划分 85
4.5.1 发送通知 85
4.5.2 何时使用技术能力 86
4.6 处理不确定性 87
4.6.1 从粗粒度服务开始 88
4.6.2 准备进一步分解 88
4.6.3 下线和迁移 89
4.7 组织中的服务所有权 91
4.8 小结 92
5章 微服务的事务与查询 93
5.1 分布式应用的事务一致性 94
5.2 基于事件的通信 96
5.3 Saga 98
5.3.1 编排型Saga 100
5.3.2 编配型Saga 102
5.3.3 交织型Saga 104
5.3.4 一致性模式 105
事件溯源 106
5.4 分布式世界中的查询作 107
5.4.1 保存数据副本 108
5.4.2 查询和命令分离 110
5.4.3 CQRS挑战 112
5.4.4 分析和报表 114
5.5 延伸阅读 114
5.6 小结 114
6章 设计高可靠服务 116
6.1 可靠性定义 117
6.2 哪些会出错 119
6.2.1 故障源 119
6.2.2 连锁故障 122
6.3 设计可靠的通信方案 125
6.3.1 重试 126
6.3.2 后备方案 128
6.3.3 时 130
6.3.4 断路器 132
6.3.5 异步通信 134
6.4 大限度地提高服务可靠性 135
6.4.1 负载均衡与服务健康 135
6.4.2 限流 136
6.4.3 验证可靠性和容错性 137
6.5 默认安全 140
6.5.1 框架 140
6.5.2 服务网格 141
6.6 小结 142
7章 构建可复用的微服务框架 143
7.1 微服务底座 144
7.2 微服务底座的目的 146
7.2.1 降低风险 147
7.2.2 快速启动 147
7.3 设计服务底座 148
7.3.1 服务发现 149
7.3.2 可观测性 153
7.3.3 平衡和限流 159
7.4 探索使用底座实现的特性 161
7.5 差异性是否是微服务的承诺 163
7.6 小结 164
三部分 部署
8章 微服务部署 167
8.1 部署的重要性 167
8.2 微服务生产环境 169
8.2.1 微服务生产环境的特点 169
8.2.2 自动化和速度 170
8.3 部署服务的快捷方式 171
8.3.1 服务启动 171
8.3.2 配置虚拟机 172
8.3.3 运行多个服务实例 173
8.3.4 添加负载均衡器 175
8.3.5 开发者学到了什么 177
8.4 构建服务工件 178
8.4.1 工件的组成 179
8.4.2 不可变性 179
8.4.3 服务工件的类型 180
8.4.4 配置 184
8.5 服务与主机关系模型 185
8.5.1 单服务主机 185
8.5.2 单主机多静态服务 185
8.5.3 单主机多调度化服务 186
8.6 不停机部署服务 187
8.7 小结 190
9章 基于容器和调度器的部署 191
9.1 服务容器化 192
9.1.1 镜像使用 192
9.1.2 构建镜像 194
9.1.3 运行容器 197
9.1.4 镜像存储 199
9.2 集部署 200
9.2.1 pod的设计与运行 201
9.2.2 负载均衡 204
9.2.3 快速揭秘 205
9.2.4 健康检查 208
9.2.5 部署新版本服务 210
9.2.6 回滚 215
9.2.7 连接多个服务 215
9.3 小结 216
 10章 构建微服务交付流水线 217
10.1 让部署变得平淡 217
10.2 使用Jenkins构建流水线 219
10.2.1 构建流水线配置 220
10.2.2 构建镜像 223
10.2.3 运行测试 224
10.2.4 发布工件 226
10.2.5 部署至预发布环境 227
10.2.6 预发布环境 230
10.2.7 部署生产环境 230
10.3 构建可复用的流水线步骤 233
10.4 降低部署影响以及实现功能发布的
技术 235
10.4.1 暗发布 235
10.4.2 功能标记 236
10.5 小结 237
部分 可观测性和所有权
 11章 构建监控系统 241
11.1 稳固的监控技术栈 241
11.1.1 良好的分层监控 243
11.1.2 黄金标志 244
11.1.3 度量指标的类型 244
11.1.4 实践建议 245
11.2 利用Prometheus和Grafana监控
SimpleBank 246
11.2.1 配置度量指标收集基础
设施 247
11.2.2 收集基础设施度量
指标——RabbitMQ 253
11.2.3 监控下单功能 255
11.2.4 告警设置 257
11.3 生成合理的可执行的告警 261
11.3.1 系统出错时哪些人需要
知悉 261
11.3.2 症状,而非原因 262
11.4 监测整个应用 262
11.5 小结 264
 12章 使用日志和链路追踪了解系统
行为 265
12.1 了解服务间的行为 265
12.2 生成一致的、结构化的、人类可读的
日志 268
12.2.1 日志中的有用信息 268
12.2.2 结构化和可读性 269
12.3 为SimpleBank配置日志基础设施 271
12.3.1 基于ELK和Fluentd的解决
方案 272
12.3.2 配置日志解决方案 274
12.3.3 配置应收集哪些日志 276
12.3.4 大海捞针 279
12.3.5 记录合适的信息 281
12.4 服务间的跟踪交互 281
12.4.1 请求关联:trace和span 282
12.4.2 在服务内配置链路追踪 283
12.5 链路追踪可视化 287
12.6 小结 291
 13章 微服务团队建设 292
13.1 建设高效团队 292
13.1.1 康威定律 294
13.1.2 高效团队原则 294
13.2 团队模型 296
13.2.1 按职能分组 296
13.2.2 跨职能分组 298
13.2.3 设置团队边界 299
13.2.4 基础设施、平台和产品 300
13.2.5 谁负责值班 302
13.2.6 知识共享 303
13.3 微服务团队的实践建议 304
13.3.1 微服务变更的驱动力 305
13.3.2 架构的角色 305
13.3.3 同质性与技术灵活性 307
13.3.4 开源模型 307
13.3.5 设计评审 308
13.3.6 动态文档 309
13.3.7 回答应用的问题 310
13.4 延伸阅读 311
13.5 小结 311
附录A 在Minikube上安装Jenkins 312
收起全部↑


暂时没有目录,请见谅!