封面
版权信息
O'Reilly Media,Inc.介绍
献词
本书赞誉
译者序
序
前言
第0章 导论
0.1 架构之旅
0.2 API简介
0.3 真实示例:会议系统案例研究
0.3.1 会议案例研究中的API类型
0.3.2 改进会议系统的原因
0.3.3 从分层架构到API建模
0.3.4 案例研究:演进步骤
0.3.5 API基础设施和流量模式
0.3.6 会议系统案例研究的路线图
0.4 使用C4图表
0.4.1 C4上下文关系图
0.4.2 C4容器图
0.4.3 C4组件图
0.5 使用架构决策记录
0.5.1 参会者演进ADR
0.5.2 精通API:ADR指南
0.6 小结
第一部分 设计、构建和测试API
第1章 设计、构建和规范API
- APP免费
1.1 案例研究:设计参会者API
- APP免费
1.2 REST介绍
- APP免费
1.2.1 通过示例介绍REST和HTTP
- APP免费
1.2.2 Richardson成熟度模型
- APP免费
1.3 RPC API介绍
- APP免费
1.4 GraphQL简要介绍
- APP免费
1.5 REST API标准和结构
- APP免费
1.5.1 集合和分页
- APP免费
1.5.2 过滤集合
- APP免费
1.5.3 错误处理
- APP免费
1.5.4 ADR指南:选择API标准
- APP免费
1.6 使用OpenAPI规范定义REST API
- APP免费
1.7 OpenAPI规范的实际应用
- APP免费
1.7.1 代码生成
- APP免费
1.7.2 OpenAPI验证
- APP免费
1.7.3 示例和模拟
- APP免费
1.7.4 检测变更
- APP免费
1.8 API版本控制
- APP免费
1.8.1 语义化版本控制
- APP免费
1.8.2 OpenAPI规范和版本控制
- APP免费
1.9 用gRPC实现RPC
- APP免费
1.10 交互建模和API格式选择
- APP免费
1.10.1 高流量服务
- APP免费
1.10.2 大尺寸交互负载
- APP免费
1.10.3 HTTP/2的性能优势
- APP免费
1.10.4 旧格式处理
- APP免费
1.11 指南:交互建模
- APP免费
1.12 同时使用多个规范
- APP免费
1.12.1 是否存在黄金规范
- APP免费
1.12.2 合并规范的挑战
- APP免费
1.13 小结
- APP免费
第2章 API接口测试
- APP免费
2.1 本章的会议系统场景
- APP免费
2.2 测试策略
- APP免费
2.2.1 测试四象限
- APP免费
2.2.2 测试金字塔
- APP免费
2.2.3 用于测试策略的ADR指南
- APP免费
2.3 契约测试
- APP免费
2.3.1 契约测试的益处
- APP免费
2.3.2 契约的实现方式
- APP免费
2.3.3 ADR指南:契约测试
- APP免费
2.4 API组件测试
- APP免费
2.4.1 契约测试和组件测试的比较
- APP免费
2.4.2 案例研究:用组件测试进行验证
- APP免费
2.5 API集成测试
- APP免费
2.5.1 使用存根服务器的好处和方法
- APP免费
2.5.2 ADR指南:集成测试
- APP免费
2.5.3 容器化测试组件:Testcontainers
- APP免费
2.5.4 案例研究:使用Testcontainers验证集成
- APP免费
2.6 端到端测试
- APP免费
2.6.1 自动化端到端验证
- APP免费
2.6.2 端到端测试的类型
- APP免费
2.6.3 ADR指南:端到端测试
- APP免费
2.7 小结
- APP免费
第二部分 API流量管理
- APP免费
第3章 API网关:入口流量管理
- APP免费
3.1 API网关是唯一解决方案吗
- APP免费
3.2 指南:代理、负载均衡器或API网关
- APP免费
3.3 案例研究:向消费者提供参会者服务
- APP免费
3.4 什么是API网关
- APP免费
3.5 API网关能提供哪些功能
- APP免费
3.6 在哪里部署API网关
- APP免费
3.7 API网关如何在网络边缘与其他技术集成
- APP免费
3.8 为何使用API网关
- APP免费
3.8.1 减少耦合:前端和后端之间的适配器/外观
- APP免费
3.8.2 简化调用方式:聚合/转换后端服务
- APP免费
3.8.3 保护API免受过度使用和滥用:威胁检测和防范
- APP免费
3.8.4 了解API是如何被使用的:可观测性
- APP免费
3.8.5 将API作为产品进行管理:API生命周期管理
- APP免费
3.8.6 商业化API:账户管理、计费和支付
- APP免费
3.9 API网关的现代史
- APP免费
3.9.1 20世纪90年代以后:硬件负载均衡器
- APP免费
3.9.2 21世纪00年代以后:软件负载均衡器
- APP免费
3.9.3 21世纪00年代中期:应用程序交付控制器
- APP免费
3.9.4 21世纪10年代初:第一代API网关
- APP免费
3.9.5 2015年以后:第二代API网关
- APP免费
3.10 当前API网关分类
- APP免费
3.10.1 传统企业网关
- APP免费
3.10.2 微服务/微网关
- APP免费
3.10.3 服务网格网关
- APP免费
3.10.4 不同类型API网关比较
- APP免费
3.11 案例研究:使用API网关改进会议系统
- APP免费
3.11.1 在Kubernetes中安装Ambassador Edge Stack
- APP免费
3.11.2 配置URL路径到后端服务的映射
- APP免费
3.11.3 使用基于主机的路由配置映射
- APP免费
3.12 部署API网关:了解和管理故障
- APP免费
3.12.1 API网关成为单点故障
- APP免费
3.12.2 检测问题并接管
- APP免费
3.12.3 解决事故和故障
- APP免费
3.12.4 防范风险
- APP免费
3.13 常见的API网关实现陷阱
- APP免费
3.13.1 API网关回路
- APP免费
3.13.2 API网关作为ESB
- APP免费
3.13.3 从上到下都是“乌龟”(API网关)
- APP免费
3.14 选择API网关
- APP免费
3.14.1 明确需求
- APP免费
3.14.2 自建还是购买
- APP免费
3.14.3 ADR指南:选择API网关
- APP免费
3.15 小结
- APP免费
第4章 服务网格:服务间流量管理
- APP免费
4.1 服务网格是唯一解决方案吗
- APP免费
4.2 指南:你应该采用服务网格吗
- APP免费
4.3 案例研究:把议程功能提取成服务
- APP免费
4.4 什么是服务网格
- APP免费
4.5 服务网格能提供什么功能
- APP免费
4.6 服务网格部署在何处
- APP免费
4.7 服务网格如何与其他网络技术集成
- APP免费
4.8 为何使用服务网格
- APP免费
4.8.1 对路由、可靠性和流量管理的精细化控制
- APP免费
4.8.2 提供透明的可观测性
- APP免费
4.8.3 强化安全性:传输安全、验证和授权
- APP免费
4.8.4 支持多语言的跨职能通信
- APP免费
4.8.5 分离入站流量管理和服务间流量管理
- APP免费
4.9 服务网格的演进历史
- APP免费
4.9.1 早年历史和动机
- APP免费
4.9.2 实现方式
- APP免费
4.10 服务网格分类法
- APP免费
4.11 案例研究:使用服务网格来实现路由、可观测性和安全性
- APP免费
4.11.1 用Istio进行路由选择
- APP免费
4.11.2 用Linkerd观测流量
- APP免费
4.11.3 用Consul进行网络分段
- APP免费
4.12 部署服务网格:理解并管理故障
- APP免费
4.13 常见的服务网格实施误区
- APP免费
4.13.1 服务网格作为ESB
- APP免费
4.13.2 服务网格作为网关
- APP免费
4.13.3 太多的网络层
- APP免费
4.14 选择服务网格
- APP免费
4.14.1 明确需求
- APP免费
4.14.2 自建还是购买
- APP免费
4.14.3 检查清单:选择服务网格
- APP免费
4.15 小结
- APP免费
第三部分 API运维与安全
- APP免费
第5章 部署和发布API
- APP免费
5.1 分离部署和发布
- APP免费
5.1.1 案例研究:功能开关
- APP免费
5.1.2 流量管理
- APP免费
5.2 案例研究:建模会议系统的发布
- APP免费
5.2.1 API生命周期
- APP免费
5.2.2 将发布策略映射到生命周期
- APP免费
5.2.3 ADR指南:使用流量管理和功能开关将发布与部署分离
- APP免费
5.3 发布策略
- APP免费
5.3.1 金丝雀发布
- APP免费
5.3.2 流量镜像
- APP免费
5.3.3 蓝绿发布
- APP免费
5.4 案例研究:使用Argo Rollouts执行部署过程
- APP免费
5.5 监控成功和识别失败
- APP免费
5.5.1 可观测性的三大支柱
- APP免费
5.5.2 API的重要指标
- APP免费
5.5.3 读取信号
- APP免费
5.6 有效软件发布的应用程序决策
- APP免费
5.6.1 响应缓存
- APP免费
5.6.2 应用层标头传播
- APP免费
5.6.3 协助调试的日志
- APP免费
5.6.4 考虑使用理念型平台
- APP免费
5.6.5 ADR指南:理念型平台
- APP免费
5.7 小结
- APP免费
第6章 运维安全性:API的威胁建模
- APP免费
6.1 案例研究:将OWASP应用于参会者API
- APP免费
6.2 忽略外部API安全的风险
- APP免费
6.3 威胁建模101
- APP免费
6.4 以攻击者思维思考
- APP免费
6.5 如何进行威胁建模
- APP免费
6.5.1 第1步:确定目标
- APP免费
6.5.2 第2步:收集正确的信息
- APP免费
6.5.3 第3步:分解系统
- APP免费
6.5.4 第4步:识别威胁——以STRIDE为例
- APP免费
6.5.5 第5步:评估威胁的风险
- APP免费
6.5.6 第6步:验证
- APP免费
6.6 小结
- APP免费
第7章 API身份验证和授权
- APP免费
7.1 身份验证
- APP免费
7.1.1 使用令牌进行最终用户身份验证
- APP免费
7.1.2 系统对系统的认证
- APP免费
7.1.3 为什么不能将密钥和用户混用
- APP免费
7.2 OAuth2
- APP免费
7.2.1 授权服务器在API交互中的角色
- APP免费
7.2.2 JSON网络令牌
- APP免费
7.2.3 OAuth2授权的术语和机制
- APP免费
7.2.4 ADR指南:我是否应该考虑使用OAuth2
- APP免费
7.2.5 授权码授权
- APP免费
7.2.6 刷新令牌
- APP免费
7.2.7 基于客户端凭据的授权
- APP免费
7.2.8 其他OAuth2授权方式
- APP免费
7.2.9 ADR指南:选择支持哪些OAuth2授权方式
- APP免费
7.2.10 OAuth2作用域
- APP免费
7.2.11 授权执行
- APP免费
7.3 OIDC介绍
- APP免费
7.4 SAML 2.0
- APP免费
7.5 小结
- APP免费
第四部分 使用API的演进架构
- APP免费
第8章 将应用程序重新设计为API驱动的架构
- APP免费
8.1 为何使用API来演进系统
- APP免费
8.1.1 提取有用抽象:加强内聚
- APP免费
8.1.2 划清领域边界:拥抱松耦合
- APP免费
8.2 案例研究:建立参会者的领域界限
- APP免费
8.3 最终状态架构选择
- APP免费
8.3.1 单体架构
- APP免费
8.3.2 面向服务的架构
- APP免费
8.3.3 微服务
- APP免费
8.3.4 函数
- APP免费
8.4 管理演进过程
- APP免费
8.4.1 明确目标
- APP免费
8.4.2 使用适应度函数
- APP免费
8.4.3 将系统分解成模块
- APP免费
8.4.4 创建API作为扩展的“拼接点”
- APP免费
8.4.5 识别系统内的变更杠杆点
- APP免费
8.4.6 持续交付和验证
- APP免费
8.5 用API演进系统的架构模式
- APP免费
8.5.1 扼杀者
- APP免费
8.5.2 外观和适配器
- APP免费
8.5.3 API分层蛋糕架构
- APP免费
8.6 识别痛点和机会
- APP免费
8.6.1 升级和维护问题
- APP免费
8.6.2 性能问题
- APP免费
8.6.3 打破依赖性:高度耦合的API
- APP免费
8.7 小结
- APP免费
第9章 使用API基础设施向云平台演进
- APP免费
9.1 案例研究:将参会者服务迁移到云环境
- APP免费
9.2 选择云迁移策略
- APP免费
9.2.1 保留或重审
- APP免费
9.2.2 重新托管
- APP免费
9.2.3 平台化改造
- APP免费
9.2.4 重新购买
- APP免费
9.2.5 重构/重新架构
- APP免费
9.2.6 退役
- APP免费
9.3 案例研究:将参会者服务迁移到云平台
- APP免费
9.4 API管理的作用
- APP免费
9.5 南北向与东西向:模糊的流量管理界限
- APP免费
9.5.1 从外向内进行迁移
- APP免费
9.5.2 跨越边界:跨网络路由
- APP免费
9.6 从区域架构到零信任架构
- APP免费
9.6.1 进入分区的世界
- APP免费
9.6.2 不信任任何人并始终验证
- APP免费
9.6.3 服务网格在零信任架构中的作用
- APP免费
9.7 小结
- APP免费
第10章 总结
- APP免费
10.1 案例研究:回顾
- APP免费
10.2 API、康威定律和组织机构
- APP免费
10.3 了解决策类型
- APP免费
10.4 准备好迎接未来
- APP免费
10.4.1 异步通信
- APP免费
10.4.2 HTTP/3
- APP免费
10.4.3 基于平台的网格
- APP免费
10.5 如何不断学习API架构
- APP免费
10.5.1 不断磨炼基本功
- APP免费
10.5.2 了解最新行业新闻
- APP免费
10.5.3 雷达、象限和趋势报告
- APP免费
10.5.4 学习最佳实践和用例
- APP免费
10.5.5 寓学于练
- APP免费
10.5.6 教学相长
- APP免费
关于作者
- APP免费
关于封面
- APP免费
封底
更新时间:2024-09-11 16:23:46