×
超值优惠券
¥50
100可用 有效期2天

全场图书通用(淘书团除外)

关闭
暂无评论
图文详情
  • ISBN:9787519864088
  • 装帧:一般胶版纸
  • 册数:暂无
  • 重量:暂无
  • 开本:16开
  • 页数:344
  • 出版时间:2022-03-01
  • 条形码:9787519864088 ; 978-7-5198-6408-8

本书特色

手把手教你构建有效的微服务架构。 微服务架构提供更快的更改速度,更好的可扩展性,更干净,可进化的系统设计。但是实现你的**个微服务架构是困难的。你如何做出无数的选择,让你的团队了解所有的技术细节,并引导组织走向成功的执行,以*大限度地提高你的成功机会?在这本书中,本书作者为构建有效的微服务架构提供了一步一步的指导。 架构师和工程师将遵循基于已被证明适用微服务系统的技术和架构进行实现。你将构建一个操作模型、一个微服务设计、一个基础设施和两个正在工作的微服务,然后将这些部分放在一起作为一个实现。对于任何负责构建微服务或微服务架构的人来说,本书都是非常宝贵的。 “这本书为将微服务原理和实践转变为实际的工作代码提供了明确而直接的指导。我向所有想要快速即学即用的人推荐这本书。”——Mike Amundsen作者兼顾问

内容简介

本书的主要内容有:学习有效和明确的端到端微服务系统设计。定义团队、他们的职责以及共同工作的指导方针。了解如何将大型应用程序分割成一组微服务。研究如何将数据隔离并嵌入到相应的微服务中。为基础架构更改构建一个简单但功能强大的CI/CD管道。为示例微服务编写代码。在Amazon上部署可正常工作的微服务应用程序Web服务。

目录

目录
前言 .1
第1 章 迈向微服务架构 7
1.1 微服务是什么? .8
1.2 降低协作成本 10
1.2.1 协作成本问题 11
1.2.2 艰难部分. 13
1.3 从实践中学习 14
1.4 决策,决策…… 17
1.5 小结 21
第2 章 微服务运作模式的设计 22
2.1 为什么团队和人员很重要 23
2.1.1 团队规模. 24
2.1.2 团队技能. 26
2.1.3 团队间协作 27
2.2 引入团队拓扑 29
2.2.1 团队类型. 29
2.2.2 交互模式. 31
2.3 设计一个微服务团队拓扑 32
2.3.1 建立系统设计团队 . 33
2.3.2 构建微服务团队模板 35
2.3.3 平台团队. 38
2.3.4 赋能和复杂的子系统团队 . 39
2.3.5 消费者团队 41
2.3.6 小结 43
第3 章 设计微服务:SEED(S)流程 44
3.1 介绍服务设计的七个基本演变:SEED(S)方法 . 45
3.2 确定参与者 . 46
3.3 确定参与者必须做的工作 49
3.3.1 使用工作故事描述格式来完成待完成工作(JTBDs) 51
3.3.2 我们的示例项目中的示例JTBD 52
3.4 用序列图发现交互模式 53
3.5 从JTBD 派生操作和查询 56
3.6 将每个查询和操作描述为具有开放标准的规范 59
3.7 获得关于API 规范的反馈 64
3.8 实现微服务 . 65
3.9 微服务与API . 65
3.10 小结 . 68
第4 章 调整微服务的大小:寻找服务边界 69
4.1 为什么边界很重要,什么时候重要,以及如何找到它们 69
4.2 领域驱动设计和微服务边界 71
4.2.1 上下文映射 75
4.2.2 同步集成与异步集成 78
4.2.3 DDD 聚合 79
4.3 事件风暴简介 79
4.4 介绍通用规模计算公式 86
4.5 小结 87
第5 章 处理数据 89
5.1 独立部署和数据共享 . 89
5.2 微服务嵌入他们的数据 91
5.2.1 嵌入数据不应导致数据库集群数量激增 92
5.2.2 数据嵌入和数据委托模式 . 93
5.2.3 使用数据复制解决独立性 . 95
5.2.4 分布式事务和失败补偿 96
5.3 事件源和CQRS 99
5.3.1 事件源 100
5.3.2 通过滚动快照提高性能 106
5.3.3 事件存储 107
5.3.4 命令查询职责分离 108
5.4 微服务之外的事件源和CQRS 109
5.5 小结 . 111
第6 章 构建基础设施流水线 . 112
6.1 DevOps 原则和实践 113
6.1.1 不可变的基础设施 114
6.1.2 基础设施即代码 116
6.1.3 持续集成和持续交付 . 118
6.2 建立基础设施即代码的环境 120
6.2.1 设置GitHub 120
6.2.2 安装Terraform 121
6.3 配置Amazon Web Services 122
6.3.1 设置一个AWS Operations 账户 123
6.3.2 配置AWS CLI 127
6.3.3 设置AWS 权限 . 128
6.3.4 为Terraform 创建S3 存储 132
6.4 建立基础设施即代码流水线 134
6.4.1 创建沙箱代码库 135
6.4.2 使用Terraform 137
6.4.3 编写沙盒环境代码 138
6.4.4 构建流水线 . 142
6.4.5 测试流水线 . 152
6.5 小结 . 154
第7 章 构建微服务基础设施 . 156
7.1 基础设施组件 . 156
7.1.1 网络 157
7.1.2 Kubernetes 服务 158
7.1.3 GitOps 部署服务器 . 160
7.2 实现基础设施 . 162
7.2.1 安装kubectl 162
7.2.2 设置模块代码库 163
7.2.3 网络模块 166
7.2.4 Kubernetes 模块 182
7.2.5 设置Argo CD 195
7.2.6 测试环境 200
7.2.7 清理基础设施 201
7.3 小结 . 203
第8 章 开发者空间 205
8.1 编码标准和开发者的配置 . 206
8.2 在本地设置一个容器化的环境 214
8.2.1 安装Multipass 215
8.2.2 输入容器和映射文件夹 217
8.3 安装Docker . 218
8.4 本地Docker 的高级用法:安装Cassandra 220
8.5 安装Kubernetes . 221
8.6 小结 . 223
第9 章 开发微服务 225
9.1 设计微服务端点 225
9.1.1 航班管理微服务 229
9.1.2 预留管理微服务 230
9.1.3 设计OpenAPI 规范 230
9.2 为微服务实现数据 238
9.2.1 预订微服务的Redis 数据模型 238
9.2.2 航班微服务的MySQL 数据模型 . 241
9.3 微服务的实现代码 243
9.3.1 航班微服务背后的代码 244
9.3.2 健康检查 250
9.4 向项目引入第二种微服务 . 252
9.5 通过伞式项目关联微服务 . 259
9.6 小结 . 262
第10 章 发布微服务 264
10.1 设置Staging 环境 265
10.1.1 Ingress 模块 . 266
10.1.2 数据库模块 267
10.1.3 Forking Staging 基础设施项目 268
10.1.4 配置Staging 工作流 269
10.1.5 编辑Staging 基础设施代码 . 271
10.2 传输航班信息容器 . 275
10.2.1 介绍Docker Hub 276
10.2.2 配置Docker Hub 277
10.2.3 配置流水线 278
10.3 部署航班服务容器 . 282
10.3.1 了解Kubernetes 部署 . 283
10.3.2 创建 Helm Chart 284
10.3.3 创建微服务部署代码库 . 286
10.3.4 使用Argo CD 进行GitOps 式的部署 . 292
10.4 清理 299
10.5 小结 299
第11 章 变更管理 . 300
11.1 微服务系统中的变更 301
11.1.1 以数据为导向 . 301
11.1.2 变更的影响 302
11.1.3 三种部署模型 . 304
11.2 基于我们的架构的考量 306
11.2.1 基础设施的变更 . 307
11.2.2 微服务变更 311
11.2.3 数据的变更 316
11.3 小结 318
第12 章 旅程的终点(和新的起点) . 320
12.1 微服务的复杂性与简化 321
12.2 衡量微服务转型的进展 325
12.3 小结 328

展开全部

作者简介

作者介绍 Ronnie Mitra是一位作家,战略家和顾问,拥有超过25年网络和连接技术工作经验。他是O’Reilly的《Microservice Architecture》和《Continuous API Management》的合著者。 Irakli Nadareishvili是Capital One核心创新副总裁,领导着负责构建基于微服务的核心银行平台的团队。在此之前,他是健康科技初创公司ReferWell的联合创始人兼CTO,并在CA Technologies和NPR担任技术领导职务。您可以通过@inadarei在Twitter上关注Irakli。 译者介绍 王岩,thoughtworks高级咨询师,专注于领域驱动设计的实践和推广。 黄俊彬,thoughtworks高级咨询师,在智能硬件、通信、互联网、金融等领军企业提供敏捷转型、系统架构改造、大型遗留系统重构等服务。

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航