前言 1
第1章 概述 7
系统开发简介 7
软件开发中的模式简介 8
模式,实践和组件的价值 10
小结 12
第Ⅰ部分 单节点模式 17
第2章 边车模式 17
一个边车模式的例子:为遗留系统增加HTTPS功能 18
基于边车模式的动态配置 19
模块化应用容器 20
使用边车模式构建一个简单的PaaS 22
基于边车模式的模块化和可重用性设计 23
小结 27
第3章 大使模式 28
使用大使模式来做服务分片 29
使用大使模式实现服务代理 33
使用大使模式做请求验证或拆分 33
第4章 适配器 37
监控 38
日志 40
第Ⅱ部分 服务模式 51
第5章 基于副本的负载均衡 51
无状态服务 51
会话跟踪服务 55
应用层复制服务 56
缓存层介绍 56
扩展缓存层 60
小结 64
第6章 分片服务 65
缓存分片 66
深入了解分片函数 73
支持副本的分配服务 77
热分片系统 77
第7章 分散模式与聚集模式 79
在根节点上进行分散/聚集 80
叶子分片 82
第8章 函数与事件驱动处理 87
何时采用FaaS 87
FaaS的模式 91
第9章 所有权选举 98
是否需要主副本选举 99
主副本选举概要 101
处理并发操作 109
第Ⅲ部分 批处理计算模式 115
第10章 工作队列系统 115
通用工作队列系统 115
实践:实现视频缩略图器 122
动态扩展执行器 123
多执行器模式 125
第11章 事件驱动的批处理 127
事件驱动批处理模式 128
实践:为新用户注册构建事件驱动流程 134
发布者/订阅者基础结构 136
实践:部署Kafka 137
第12章 协调批处理 140
连接(或栏栅同步) 140
Reduce 142
实践:图像标记和处理流水线 145
第13章 结论:一个新的开始 149