商品详情
书名:微服务与事件驱动架构
定*:99.8
ISBN:9787**557**06
作者:亚当·贝勒马尔
版次:第*版
出版时间:202*-*0
内容提要:
微服务既有同步实现,亦有异步实现。异步微服务架构以事件驱动,*受*定的API限制,系统的耦合度低,可扩展性强。本书教你从头开始构建完整的事件驱动型微服务架构,根据实际的业务需求调整、扩展微服务,更好地实践持续交付,并以新的视角思考如何充分利用实时数据的*值。
作者简介:
亚当·贝勒马尔(Adam Bellemare),Confluent公司微服务架构师,*通大数据技术,曾受邀在Kafka峰会上做有关事件驱动型微服务的主题演讲。 【译者简介】 温正东,华南理工大学计算机硕士,曾任华为公司信息技术工程师,现任富途证券网络增长研发总监,另译有《Web*开发指南》。
目录:
前言 xv
第 * 章 为什么用事件驱动型微服务 *
*.* 什么是事件驱动型微服务 2
*.2 *域驱动设计和界限上下文 3
*.2.* 运用*域模型和界限上下文 4
*.2.2 *持界限上下文与业务需求** 4
*.3 沟通结构 5
*.3.* 业务沟通结构 5
*.3.2 实现沟通结构 6
*.3.3 数据沟通结构 7
*.3.4 康威定律和沟通结构 7
*.4 传统计算中的沟通结构 8
*.4.* 选项*:*建*个新服务 8
*.4.2 选项2:将它加入现有服务中 9
*.4.3 两种选项的利弊 9
*.4.4 团队场景(续) *0
*.4.5 冲突的压力 *0
*.5 事件驱动的沟通结构 **
*.5.* 事件是通信的基础 **
*.5.2 事件流提供了单*事实来源 **
*.5.3 消费者执行自己的建模和查询 **
*.5.4 整个组织的数据沟通得到* *2
*.5.5 *可访问的数据利于业务变更 *2
*.6 异步的事件驱动型微服务 *2
*.7 同步式微服务 *4
*.7.* 同步式微服务的缺点 *4
*.7.2 同步式微服务的*点 *5
*.8 小结 *6
第 2 章 事件驱动型微服务基础 *7
2.* 构建拓扑 *7
2.*.* 微服务拓扑 *7
2.*.2 业务拓扑 *8
2.2 事件内容 *9
2.3 事件的结构 *9
2.3.* *键事件 *9
2.3.2 实体事件 20
2.3.3 键控事件 20
2.4 物化来自实体事件的状态 20
2.5 事件数据的定义和schema 22
2.6 微服务单*写原则 22
2.7 用事件代理赋能微服务 23
2.7.* 事件存储和服务 23
2.7.2 需要考虑的其他因素 24
2.8 事件代理与消息代理 25
2.8.* 从*可变日志中消费 26
2.8.2 提供单*事实来源 27
2.9 大规模管理微服务 28
2.9.* 将微服务放到容器内 28
2.9.2 将微服务放到虚拟机内 28
2.9.3 管理容器和虚拟机 28
2.*0 缴纳微服务税 29
2.** 小结 30
第 3 章 通信和数据契约 3*
3.* 事件驱动数据契约 3*
3.*.* 使用显式schema作为契约 32
3.*.2 schema定义的注释 32
3.*.3 *能的schema演化 33
3.*.4 有代码生成器支持 33
3.*.5 破坏性的schema变更 34
3.2 选择事件格式 36
3.3 设计事件 36
3.3.* 只讲述事实 36
3.3.2 每个流*使用单*事件定义 37
3.3.3 使用最窄的数据类型 37
3.3.4 *持事件的单*用途 37
3.3.5 最小化事件 40
3.3.6 让潜在的消费者参与事件设计 40
3.3.7 避*将事件作为信号量或信号 4*
3.4 小结 4*
第 4 章 将事件驱动架构与现有系统集成 42
4.* 什么是数据解放 43
4.*.* 数据解放的折中方案 43
4.*.2 将被解放的数据转化成事件 45
4.2 数据解放模式 45
4.3 数据解放框架 46
4.4 通过查询实施数据解放 46
4.4.* 批量加载 47
4.4.2 增量时间戳加载 47
4.4.3 自增ID 加载 47
4.4.4 自定义查询 47
4.4.5 增量更新 47
4.4.6 基于查询更新的*点 48
4.4.7 基于查询更新的缺点 48
4.5 使用变更数据捕获日志解放数据 49
4.5.* 使用数据存储日志的*点 50
4.5.2 使用数据库日志的缺点 50
4.6 使用发件箱表解放数据 5*
4.6.* 性能考虑 52
4.6.2 隔离内*数据模型 52
4.6.3 确*schema兼容性 53
4.6.4 使用触发器捕获变更数据 56
4.7 对处于捕获的数据集做数据定义变更 59
4.7.* 为查询和CDC日志模式处理事后数据定义变更 60
4.7.2 为变更数据表捕获模式处理数据定义变更 60
4.8 将事件数据落地到数据存储 60
4.9 数据落地和获取对业务的影响 60
4.*0 小结 62
第 5 章 事件驱动处理基础 63
5.* 构建*状态拓扑 64
5.*.* 转换 64
5.*.2 分流与合流 65
5.2 对事件流再分区 65
5.3 对事件流协同分区 66
5.4 给消费者实例分配分区 67
5.4.* 使用分区分配器分配分区 68
5.4.2 分配协同分区 68
5.4.3 分区分配策略 68
5.5 从*状态处理实例故障中恢复 70
5.6 小结 70
第 6 章 具有确定性的流处理 7*
6.* 事件驱动工作流的确定性 72
6.2 时间戳 72
6.2.* 同步分布式时间戳 73
6.2.2 处理带时间戳的事件 74
6.3 事件调度和确定性处理 75
6.3.* 自定义事件调度器 75
6.3.2 基于事件时间、处理时间和摄取时间进行处理 75
6.3.3 消费者提取时间戳 76
6.3.4 对外*系统的“请求–响应”调用 76
6.4 水位 76
6.5 流时间 78
6.6 乱序事件和迟到事件 80
6.6.* 使用水位和流时间的迟到事件 8*
6.6.2 乱序事件的原因和影响 8*
6.6.3 时间敏感的函数和窗口化 83
6.7 处理迟到事件 85
6.8 再处理与近实时处理 86
6.9 间歇性故障和迟到事件 86
6.*0 生产者/事件代理的连接性问题 87
6.** 小结与延展阅读 88
第 7 章 有状态的流 89
7.* 状态存储与从事件流中物化状态 89
7.2 记录状态到变更日志事件流 90
7.3 将状态物化*内*状态存储 9*
7.3.* 物化*局状态 92
7.3.2 使用内*状态的*点 92
7.3.3 使用内*状态的缺点 93
7.3.4 内*状态的伸缩和恢复 93
7.4 将状态物化*外*状态存储 96
7.4.* 外*状态的*点 97
7.4.2 外*状态的缺点 97
7.4.3 外*状态存储的伸缩和恢复 98
7.5 重建与迁移状态存储 99
7.5.* 重建 99
7.5.2 迁移 *00
7.6 事务与有效*次处理 *00
7.6.* 示例:库存计算服务 *0*
7.6.2 使用“客户端–代理”事务的有效*次处理 *02
7.6.3 没有“客户端–代理”事务的有效*次处理 *03
7.7 小结 *07
第 8 章 用微服务构建工作流 *08
8.* 编排模式 *09
8.*.* *个简单的事件驱动编排示例 *09
8.*.2 *建和修改编排的工作流 **0
8.*.3 监控编排的工作流 **0
8.2 编制模式 ***
8.2.* *个简单的事件驱动编制模式例子 **2
8.2.2 *个简单的直接调用的编制模式例子 **3
8.2.3 对比事件驱动编制模式和直接调用的编制模式 **4
8.2.4 *建和修改编制工作流 **4
8.2.5 监控编制工作流 **5
8.3 分布式事务 **5
8.3.* 编排型事务:saga模式 **5
8.3.2 编制型事务 **7
8.4 补偿工作流 **9
8.5 小结 **9
第 9 章 使用“函数*服务”的微服务 *20
9.* 设计基于函数的微服务解决方案 *20
9.*.* 确*界限上下文的严格的成员关系 *20
9.*.2 只在完成处理之后提交偏移量 *2*
9.*.3 少*是多 *2*
9.2 选择FaaS供应商 *22
9.3 在函数之外构建微服务 *22
9.4 冷启动和热启动 *23
9.5 用触发器启动函数 *24
9.5.* 基于新事件触发:事件流监听器 *24
9.5.2 基于消费者组的滞后度触发 *25
9.5.3 按调度表触发 *26
9.5.4 使用网络钩子触发 *26
9.5.5 触发资源事件 *27
9.6 用函数执行业务工作 *27
9.7 维持状态 *27
9.8 调用其他函数的函数 *28
9.8.* 事件驱动通信模式 *28
9.8.2 直接调用模式 *29
9.9 *止和关闭 *3*
9.*0 调整函数 *32
9.*0.* 分配足够的资源 *32
9.*0.2 批量事件处理的参数 *32
9.** FaaS的伸缩方案 *32
9.*2 小结 *33
第 *0 章 基础的生产者和消费者微服务 *34
*0.* BPC的适用场合 *34
*0.*.* 集成现有遗留系统 *35
*0.*.2 *依赖于事件顺序的有状态的业务逻辑 *36
*0.*.3 当数据层完成大*分工作时 *37
*0.*.4 处理层和数据层*立伸缩 *37
*0.2 具有外*流处理的混合BPC应用程序 *38
*0.3 小结 *40
第 ** 章 使用重量级框架的微服务 *4*
**.* 重量级框架的简单历史 *42
**.2 重量级框架的内*运作 *42
**.3 *点和局限性 *44
**.4 集群搭建方案和执行模式 *45
**.4.* 使用托管服务 *46
**.4.2 构建自己的完整集群 *46
**.4.3 使用CMS集成来*建集群 *46
**.5 应用程序提交模式 *48
**.5.* 驱动器模式 *48
**.5.2 集群模式 *48
**.6 处理状态和使用检查点 *48
**.7 伸缩应用程序和处理事件流分区 *49
**.7.* 伸缩运行中的应用程序 *50
**.7.2 通过重启伸缩应用程序 *53
**.7.3 自动伸缩应用程序 *53
**.8 从故障中恢复 *53
**.9 考虑多租户问题 *53
**.*0 语言和语法 *54
**.** 选择*个框架 *54
**.*2 示例:*和观看的会话窗口 *55
**.*3 小结 *57
第 *2 章 使用轻量级框架的微服务 *58
*2.* *点和局限性 *58
*2.2 轻量级处理 *59
*2.3 处理状态和使用变更日志 *59
*2.4 伸缩和故障恢复 *60
*2.4.* 事件洗牌 *60
*2.4.2 状态分配 *6*
*2.4.3 状态复制和热副本 *6*
*2.5 选择*个轻量级框架 *6*
*2.5.* Apache Kafka Streams *62
*2.5.2 Apache Samza:嵌入模式 *62
*2.6 语言和语法 *62
*2.7 流–表–表联结:增强模式 *63
*2.8 小结 *66
第 *3 章 集成事件驱动型和“请求–响应”型微服务 *67
*3.* 处理外*事件 *67
*3.*.* 自动生成的事件 *68
*3.*.2 由响应生成的事件 *68
*3.2 处理自动生成的分析事件 *68
*3.3 集成第三方“请求–响应”API *70
*3.4 处理并提供有状态的数据 *7*
*3.4.* 实时请求内*状态存储 *72
*3.4.2 实时请求外*状态存储 *75
*3.5 在事件驱动的工作流中处理请求 *77
*3.6 “请求–响应”应用程序中的微前端 *83
*3.7 微前端的*点 *84
*3.7.* 基于组合的微服务 *84
*3.7.2 容易与业务需求对齐 *85
*3.8 微前端的缺点 *85
*3.8.* 可能***的UI元素和样式 *85
*3.8.2 *同的微前端性能 *85
*3.8.3 示例:体验搜索与评论应用程序 *86
*3.9 小结 *88
第 *4 章 支持性工具 *90
*4.* 微服务–团队分配系统 *90
*4.2 事件流的*建和修改 *9*
*4.3 事件流元数据标记 *9*
*4.4 限额 *92
*4.5 schema注册表 *92
*4.6 schema*建和修改通知 *93
*4.7 偏移量管理 *93
*4.8 事件流的权限和访问控制列表 *94
*4.9 状态管理和应用程序重置 *95
*4.*0 消费者偏移量滞后度监控 *96
*4.** 流水线型的微服务*建流程 *96
*4.*2 容器管理控制 *97
*4.*3 集群*建和管理 *97
*4.*3.* 事件代理的程序化*建 *97
*4.*3.2 计算资源的程序化*建 *98
*4.*3.3 跨集群事件数据复制 *98
*4.*3.4 工具的程序化*建 *98
*4.*4 依赖跟踪和拓扑可视化 *99
*4.*5 小结 202
第 *5 章 测试事件驱动型微服务 203
*5.* 通用测试原则 203
*5.2 单元测试拓扑函数 203
*5.2.* *状态的函数 204
*5.2.2 有状态的函数 204
*5.3 测试拓扑 205
*5.4 测试schema演化和兼容性 205
*5.5 事件驱动型微服务的集成测试 206
*5.6 本地集成测试 206
*5.6.* 在测试代码的运行时内*建临时环境 208
*5.6.2 在测试代码外**建临时环境 209
*5.6.3 使用mocking和模拟器方法集成托管服务 209
*5.6.4 集成没有本地支持的远程服务 2*0
*5.7 完*远程集成测试 2**
*5.7.* 程序化*建临时集成测试环境 2**
*5.7.2 使用共享环境进行测试 2*3
*5.7.3 使用生产环境进行测试 2*4
*5.8 选择你的完*远程集成测试策略 2*4
*5.9 小结 2*5
第 *6 章 *署事件驱动型微服务 2*6
*6.* 微服务*署的原则 2*6
*6.2 微服务*署的架构组件 2*7
*6.2.* 持续集成系统、持续交付系统和持续*署系统 2*7
*6.2.2 CMS和商业硬件 2*8
*6.3 基本的*站式*署模式 2*8
*6.4 滚动更新模式 220
*6.5 破坏性的schema变更模式 220
*6.5.* 通过两个事件流达到最*迁移 222
*6.5.2 同步迁移到新事件流 222
*6.6 蓝绿*署模式 223
*6.7 小结 224
第 *7 章 结论 225
*7.* 通信层 225
*7.2 业务*域和界限上下文 226
*7.3 可共享的工具和基础设施 226
*7.4 结构化事件 226
*7.5 数据解放和单*事实来源 227
*7.6 微服务 227
*7.7 微服务实现方案 228
*7.8 测试 228
*7.9 *署 229
*7.*0 结语 229
关于作者 230
关于封面 230
定*:99.8
ISBN:9787**557**06
作者:亚当·贝勒马尔
版次:第*版
出版时间:202*-*0
内容提要:
微服务既有同步实现,亦有异步实现。异步微服务架构以事件驱动,*受*定的API限制,系统的耦合度低,可扩展性强。本书教你从头开始构建完整的事件驱动型微服务架构,根据实际的业务需求调整、扩展微服务,更好地实践持续交付,并以新的视角思考如何充分利用实时数据的*值。
作者简介:
亚当·贝勒马尔(Adam Bellemare),Confluent公司微服务架构师,*通大数据技术,曾受邀在Kafka峰会上做有关事件驱动型微服务的主题演讲。 【译者简介】 温正东,华南理工大学计算机硕士,曾任华为公司信息技术工程师,现任富途证券网络增长研发总监,另译有《Web*开发指南》。
目录:
前言 xv
第 * 章 为什么用事件驱动型微服务 *
*.* 什么是事件驱动型微服务 2
*.2 *域驱动设计和界限上下文 3
*.2.* 运用*域模型和界限上下文 4
*.2.2 *持界限上下文与业务需求** 4
*.3 沟通结构 5
*.3.* 业务沟通结构 5
*.3.2 实现沟通结构 6
*.3.3 数据沟通结构 7
*.3.4 康威定律和沟通结构 7
*.4 传统计算中的沟通结构 8
*.4.* 选项*:*建*个新服务 8
*.4.2 选项2:将它加入现有服务中 9
*.4.3 两种选项的利弊 9
*.4.4 团队场景(续) *0
*.4.5 冲突的压力 *0
*.5 事件驱动的沟通结构 **
*.5.* 事件是通信的基础 **
*.5.2 事件流提供了单*事实来源 **
*.5.3 消费者执行自己的建模和查询 **
*.5.4 整个组织的数据沟通得到* *2
*.5.5 *可访问的数据利于业务变更 *2
*.6 异步的事件驱动型微服务 *2
*.7 同步式微服务 *4
*.7.* 同步式微服务的缺点 *4
*.7.2 同步式微服务的*点 *5
*.8 小结 *6
第 2 章 事件驱动型微服务基础 *7
2.* 构建拓扑 *7
2.*.* 微服务拓扑 *7
2.*.2 业务拓扑 *8
2.2 事件内容 *9
2.3 事件的结构 *9
2.3.* *键事件 *9
2.3.2 实体事件 20
2.3.3 键控事件 20
2.4 物化来自实体事件的状态 20
2.5 事件数据的定义和schema 22
2.6 微服务单*写原则 22
2.7 用事件代理赋能微服务 23
2.7.* 事件存储和服务 23
2.7.2 需要考虑的其他因素 24
2.8 事件代理与消息代理 25
2.8.* 从*可变日志中消费 26
2.8.2 提供单*事实来源 27
2.9 大规模管理微服务 28
2.9.* 将微服务放到容器内 28
2.9.2 将微服务放到虚拟机内 28
2.9.3 管理容器和虚拟机 28
2.*0 缴纳微服务税 29
2.** 小结 30
第 3 章 通信和数据契约 3*
3.* 事件驱动数据契约 3*
3.*.* 使用显式schema作为契约 32
3.*.2 schema定义的注释 32
3.*.3 *能的schema演化 33
3.*.4 有代码生成器支持 33
3.*.5 破坏性的schema变更 34
3.2 选择事件格式 36
3.3 设计事件 36
3.3.* 只讲述事实 36
3.3.2 每个流*使用单*事件定义 37
3.3.3 使用最窄的数据类型 37
3.3.4 *持事件的单*用途 37
3.3.5 最小化事件 40
3.3.6 让潜在的消费者参与事件设计 40
3.3.7 避*将事件作为信号量或信号 4*
3.4 小结 4*
第 4 章 将事件驱动架构与现有系统集成 42
4.* 什么是数据解放 43
4.*.* 数据解放的折中方案 43
4.*.2 将被解放的数据转化成事件 45
4.2 数据解放模式 45
4.3 数据解放框架 46
4.4 通过查询实施数据解放 46
4.4.* 批量加载 47
4.4.2 增量时间戳加载 47
4.4.3 自增ID 加载 47
4.4.4 自定义查询 47
4.4.5 增量更新 47
4.4.6 基于查询更新的*点 48
4.4.7 基于查询更新的缺点 48
4.5 使用变更数据捕获日志解放数据 49
4.5.* 使用数据存储日志的*点 50
4.5.2 使用数据库日志的缺点 50
4.6 使用发件箱表解放数据 5*
4.6.* 性能考虑 52
4.6.2 隔离内*数据模型 52
4.6.3 确*schema兼容性 53
4.6.4 使用触发器捕获变更数据 56
4.7 对处于捕获的数据集做数据定义变更 59
4.7.* 为查询和CDC日志模式处理事后数据定义变更 60
4.7.2 为变更数据表捕获模式处理数据定义变更 60
4.8 将事件数据落地到数据存储 60
4.9 数据落地和获取对业务的影响 60
4.*0 小结 62
第 5 章 事件驱动处理基础 63
5.* 构建*状态拓扑 64
5.*.* 转换 64
5.*.2 分流与合流 65
5.2 对事件流再分区 65
5.3 对事件流协同分区 66
5.4 给消费者实例分配分区 67
5.4.* 使用分区分配器分配分区 68
5.4.2 分配协同分区 68
5.4.3 分区分配策略 68
5.5 从*状态处理实例故障中恢复 70
5.6 小结 70
第 6 章 具有确定性的流处理 7*
6.* 事件驱动工作流的确定性 72
6.2 时间戳 72
6.2.* 同步分布式时间戳 73
6.2.2 处理带时间戳的事件 74
6.3 事件调度和确定性处理 75
6.3.* 自定义事件调度器 75
6.3.2 基于事件时间、处理时间和摄取时间进行处理 75
6.3.3 消费者提取时间戳 76
6.3.4 对外*系统的“请求–响应”调用 76
6.4 水位 76
6.5 流时间 78
6.6 乱序事件和迟到事件 80
6.6.* 使用水位和流时间的迟到事件 8*
6.6.2 乱序事件的原因和影响 8*
6.6.3 时间敏感的函数和窗口化 83
6.7 处理迟到事件 85
6.8 再处理与近实时处理 86
6.9 间歇性故障和迟到事件 86
6.*0 生产者/事件代理的连接性问题 87
6.** 小结与延展阅读 88
第 7 章 有状态的流 89
7.* 状态存储与从事件流中物化状态 89
7.2 记录状态到变更日志事件流 90
7.3 将状态物化*内*状态存储 9*
7.3.* 物化*局状态 92
7.3.2 使用内*状态的*点 92
7.3.3 使用内*状态的缺点 93
7.3.4 内*状态的伸缩和恢复 93
7.4 将状态物化*外*状态存储 96
7.4.* 外*状态的*点 97
7.4.2 外*状态的缺点 97
7.4.3 外*状态存储的伸缩和恢复 98
7.5 重建与迁移状态存储 99
7.5.* 重建 99
7.5.2 迁移 *00
7.6 事务与有效*次处理 *00
7.6.* 示例:库存计算服务 *0*
7.6.2 使用“客户端–代理”事务的有效*次处理 *02
7.6.3 没有“客户端–代理”事务的有效*次处理 *03
7.7 小结 *07
第 8 章 用微服务构建工作流 *08
8.* 编排模式 *09
8.*.* *个简单的事件驱动编排示例 *09
8.*.2 *建和修改编排的工作流 **0
8.*.3 监控编排的工作流 **0
8.2 编制模式 ***
8.2.* *个简单的事件驱动编制模式例子 **2
8.2.2 *个简单的直接调用的编制模式例子 **3
8.2.3 对比事件驱动编制模式和直接调用的编制模式 **4
8.2.4 *建和修改编制工作流 **4
8.2.5 监控编制工作流 **5
8.3 分布式事务 **5
8.3.* 编排型事务:saga模式 **5
8.3.2 编制型事务 **7
8.4 补偿工作流 **9
8.5 小结 **9
第 9 章 使用“函数*服务”的微服务 *20
9.* 设计基于函数的微服务解决方案 *20
9.*.* 确*界限上下文的严格的成员关系 *20
9.*.2 只在完成处理之后提交偏移量 *2*
9.*.3 少*是多 *2*
9.2 选择FaaS供应商 *22
9.3 在函数之外构建微服务 *22
9.4 冷启动和热启动 *23
9.5 用触发器启动函数 *24
9.5.* 基于新事件触发:事件流监听器 *24
9.5.2 基于消费者组的滞后度触发 *25
9.5.3 按调度表触发 *26
9.5.4 使用网络钩子触发 *26
9.5.5 触发资源事件 *27
9.6 用函数执行业务工作 *27
9.7 维持状态 *27
9.8 调用其他函数的函数 *28
9.8.* 事件驱动通信模式 *28
9.8.2 直接调用模式 *29
9.9 *止和关闭 *3*
9.*0 调整函数 *32
9.*0.* 分配足够的资源 *32
9.*0.2 批量事件处理的参数 *32
9.** FaaS的伸缩方案 *32
9.*2 小结 *33
第 *0 章 基础的生产者和消费者微服务 *34
*0.* BPC的适用场合 *34
*0.*.* 集成现有遗留系统 *35
*0.*.2 *依赖于事件顺序的有状态的业务逻辑 *36
*0.*.3 当数据层完成大*分工作时 *37
*0.*.4 处理层和数据层*立伸缩 *37
*0.2 具有外*流处理的混合BPC应用程序 *38
*0.3 小结 *40
第 ** 章 使用重量级框架的微服务 *4*
**.* 重量级框架的简单历史 *42
**.2 重量级框架的内*运作 *42
**.3 *点和局限性 *44
**.4 集群搭建方案和执行模式 *45
**.4.* 使用托管服务 *46
**.4.2 构建自己的完整集群 *46
**.4.3 使用CMS集成来*建集群 *46
**.5 应用程序提交模式 *48
**.5.* 驱动器模式 *48
**.5.2 集群模式 *48
**.6 处理状态和使用检查点 *48
**.7 伸缩应用程序和处理事件流分区 *49
**.7.* 伸缩运行中的应用程序 *50
**.7.2 通过重启伸缩应用程序 *53
**.7.3 自动伸缩应用程序 *53
**.8 从故障中恢复 *53
**.9 考虑多租户问题 *53
**.*0 语言和语法 *54
**.** 选择*个框架 *54
**.*2 示例:*和观看的会话窗口 *55
**.*3 小结 *57
第 *2 章 使用轻量级框架的微服务 *58
*2.* *点和局限性 *58
*2.2 轻量级处理 *59
*2.3 处理状态和使用变更日志 *59
*2.4 伸缩和故障恢复 *60
*2.4.* 事件洗牌 *60
*2.4.2 状态分配 *6*
*2.4.3 状态复制和热副本 *6*
*2.5 选择*个轻量级框架 *6*
*2.5.* Apache Kafka Streams *62
*2.5.2 Apache Samza:嵌入模式 *62
*2.6 语言和语法 *62
*2.7 流–表–表联结:增强模式 *63
*2.8 小结 *66
第 *3 章 集成事件驱动型和“请求–响应”型微服务 *67
*3.* 处理外*事件 *67
*3.*.* 自动生成的事件 *68
*3.*.2 由响应生成的事件 *68
*3.2 处理自动生成的分析事件 *68
*3.3 集成第三方“请求–响应”API *70
*3.4 处理并提供有状态的数据 *7*
*3.4.* 实时请求内*状态存储 *72
*3.4.2 实时请求外*状态存储 *75
*3.5 在事件驱动的工作流中处理请求 *77
*3.6 “请求–响应”应用程序中的微前端 *83
*3.7 微前端的*点 *84
*3.7.* 基于组合的微服务 *84
*3.7.2 容易与业务需求对齐 *85
*3.8 微前端的缺点 *85
*3.8.* 可能***的UI元素和样式 *85
*3.8.2 *同的微前端性能 *85
*3.8.3 示例:体验搜索与评论应用程序 *86
*3.9 小结 *88
第 *4 章 支持性工具 *90
*4.* 微服务–团队分配系统 *90
*4.2 事件流的*建和修改 *9*
*4.3 事件流元数据标记 *9*
*4.4 限额 *92
*4.5 schema注册表 *92
*4.6 schema*建和修改通知 *93
*4.7 偏移量管理 *93
*4.8 事件流的权限和访问控制列表 *94
*4.9 状态管理和应用程序重置 *95
*4.*0 消费者偏移量滞后度监控 *96
*4.** 流水线型的微服务*建流程 *96
*4.*2 容器管理控制 *97
*4.*3 集群*建和管理 *97
*4.*3.* 事件代理的程序化*建 *97
*4.*3.2 计算资源的程序化*建 *98
*4.*3.3 跨集群事件数据复制 *98
*4.*3.4 工具的程序化*建 *98
*4.*4 依赖跟踪和拓扑可视化 *99
*4.*5 小结 202
第 *5 章 测试事件驱动型微服务 203
*5.* 通用测试原则 203
*5.2 单元测试拓扑函数 203
*5.2.* *状态的函数 204
*5.2.2 有状态的函数 204
*5.3 测试拓扑 205
*5.4 测试schema演化和兼容性 205
*5.5 事件驱动型微服务的集成测试 206
*5.6 本地集成测试 206
*5.6.* 在测试代码的运行时内*建临时环境 208
*5.6.2 在测试代码外**建临时环境 209
*5.6.3 使用mocking和模拟器方法集成托管服务 209
*5.6.4 集成没有本地支持的远程服务 2*0
*5.7 完*远程集成测试 2**
*5.7.* 程序化*建临时集成测试环境 2**
*5.7.2 使用共享环境进行测试 2*3
*5.7.3 使用生产环境进行测试 2*4
*5.8 选择你的完*远程集成测试策略 2*4
*5.9 小结 2*5
第 *6 章 *署事件驱动型微服务 2*6
*6.* 微服务*署的原则 2*6
*6.2 微服务*署的架构组件 2*7
*6.2.* 持续集成系统、持续交付系统和持续*署系统 2*7
*6.2.2 CMS和商业硬件 2*8
*6.3 基本的*站式*署模式 2*8
*6.4 滚动更新模式 220
*6.5 破坏性的schema变更模式 220
*6.5.* 通过两个事件流达到最*迁移 222
*6.5.2 同步迁移到新事件流 222
*6.6 蓝绿*署模式 223
*6.7 小结 224
第 *7 章 结论 225
*7.* 通信层 225
*7.2 业务*域和界限上下文 226
*7.3 可共享的工具和基础设施 226
*7.4 结构化事件 226
*7.5 数据解放和单*事实来源 227
*7.6 微服务 227
*7.7 微服务实现方案 228
*7.8 测试 228
*7.9 *署 229
*7.*0 结语 229
关于作者 230
关于封面 230
- 人民邮电出版社有限公司 (微信公众号认证)
- 人民邮电出版社微店,为您提供最全面,最专业的一站式购书服务
- 扫描二维码,访问我们的微信店铺
- 随时随地的购物、客服咨询、查询订单和物流...