人民邮电出版社有限公司店铺主页二维码
人民邮电出版社有限公司 微信认证
人民邮电出版社微店,为您提供最全面,最专业的一站式购书服务
微信扫描二维码,访问我们的微信店铺
你可以使用微信联系我们,随时随地的购物、客服咨询、查询订单和物流...

微服务与事件驱动架构 系统设计

74.90
运费: ¥ 0.00-20.00
微服务与事件驱动架构 系统设计  商品图0
微服务与事件驱动架构 系统设计  商品缩略图0

商品详情

书名:微服务与事件驱动架构
定*: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

人民邮电出版社有限公司店铺主页二维码
人民邮电出版社有限公司 微信公众号认证
人民邮电出版社微店,为您提供最全面,最专业的一站式购书服务
扫描二维码,访问我们的微信店铺
随时随地的购物、客服咨询、查询订单和物流...

微服务与事件驱动架构 系统设计

手机启动微信
扫一扫购买

收藏到微信 or 发给朋友

1. 打开微信,扫一扫左侧二维码

2. 点击右上角图标

点击右上角分享图标

3. 发送给朋友、分享到朋友圈、收藏

发送给朋友、分享到朋友圈、收藏

微信支付

支付宝

扫一扫购买

打开微信,扫一扫

或搜索微信号:renyoushe
人民邮电出版社官方微信公众号

收藏到微信 or 发给朋友

1. 打开微信,扫一扫左侧二维码

2. 点击右上角图标

点击右上角分享图标

3. 发送给朋友、分享到朋友圈、收藏

发送给朋友、分享到朋友圈、收藏