批量上传,套装书可能不全,下单前咨询在线客服! 正版书 !!!
¥ 62.55 4.8折 ¥ 129 全新
库存27件
作者[美]舍温·约翰·C.特拉古拉 著 王婷 译
出版社清华大学出版社
ISBN9787302644866
出版时间2023-09
装帧平装
开本16开
定价129元
货号29634858
上书时间2024-10-21
《利用FastAPI构建Python微服务》详细阐述了与分布式机器学习相关的基本解决方案,主要包括设置 FastAPI,探索核心功能,依赖注入研究,构建微服务应用程序,连接到关系数据库,使用非关系数据库,保护REST API的安全,创建协程、事件和消息驱动的事务,利用其他高级功能,解决数值、符号和图形问题,添加其他微服务功能等内容。此外,本书还提供了相应的示例、代码,以帮助读者进一步理解相关方案的实现过程。
舍温·约翰·C.特拉古拉是Java、ASP.NET MVC和Python应用程序方面的主题专家,并且还具有一些前端框架背景。他管理着一个开发团队来构建与制造和固定资产、文档管理、记录管理、POS以及库存系统相关的各种应用程序。作为顾问,他拥有构建实验室信息管理系统(laboratory information management system,LIMS)和混合移动应用程序的背景。自2010年以来,他还为Python、Django、Flask、Jakarta EE、C#、ASP.NET MVC、JSF、Java和一些前端框架的课程提供企业新人培训服务。他撰写了Spring MVC Blueprints和Spring 5 Cookbook之类的书籍,另外还发布了Packt视频Modern Java Web Applications with Spring Boot 2.x。
第1篇 与FastAPI微服务开发应用相关的架构概念
第1章 设置FastAPI 3
1.1 技术要求 3
1.2 设置开发环境 4
1.3 初始化和配置FastAPI 5
1.4 设计和实现REST API 6
1.5 管理用户请求和服务器响应 9
1.5.1 参数类型声明 9
1.5.2 路径参数 10
1.5.3 查询参数 12
1.5.4 默认参数 13
1.5.5 可选参数 14
1.5.6 混合所有类型的参数 16
1.5.7 请求正文 16
1.5.8 请求标头 19
1.5.9 响应数据 20
1.6 处理表单参数 21
1.7 管理cookie 22
1.8 小结 23
第2章 探索核心功能 25
2.1 技术要求 25
2.2 构建和组织大型项目 26
2.2.1 实现API服务 27
2.2.2 导入模块组件 28
2.2.3 实现新的main.py文件 29
2.3 管理与API相关的异常 30
2.3.1 单个状态代码响应 30
2.3.2 多个状态代码 32
2.3.3 引发HTTPException 33
2.3.4 自定义异常 34
2.3.5 默认处理程序覆盖 36
2.4 将对象转换为与JSON兼容的类型 37
2.5 管理API响应 38
2.6 创建后台进程 40
2.7 使用异步路径操作 42
2.8 应用中间件以过滤路径操作 43
2.9 小结 45
第3章 依赖注入研究 47
3.1 技术要求 47
3.2 应用控制反转和依赖注入 48
3.2.1 注入依赖函数 49
3.2.2 注入可调用的类 50
3.2.3 构建嵌套依赖关系 51
3.2.4 缓存依赖项 53
3.2.5 声明Depends()参数类型 54
3.2.6 注入异步依赖项 55
3.3 探索注入依赖项的方法 55
3.3.1 在服务参数列表上发生的依赖注入 55
3.3.2 在路径运算符中发生的依赖注入 56
3.3.3 针对路由器的依赖注入 57
3.3.4 针对main.py的依赖注入 60
3.4 基于依赖关系组织项目 61
3.4.1 模型层 62
3.4.2 存储库层 63
3.4.3 存储库工厂方法 65
3.4.4 服务层 65
3.4.5 REST API和服务层 66
3.4.6 实际项目结构 67
3.5 使用第三方容器 67
3.5.1 使用可配置容器—Dependency Injector 68
3.5.2 使用Lagom模块 72
3.5.3 FastAPI和Lagom集成 72
3.6 可依赖项的范围 73
3.7 小结 74
第4章 构建微服务应用程序 75
4.1 技术要求 75
4.2 应用分解模式 76
4.2.1 按业务单元分解 76
4.2.2 创建子应用程序 78
4.3 挂载子模块 79
4.4 创建通用网关 80
4.5 实现主端点 80
4.6 评估微服务ID 81
4.7 应用异常处理程序 82
4.8 集中日志记录机制 83
4.8.1 微服务架构可能面临的日志问题 83
4.8.2 使用Loguru模块 84
4.9 构建日志中间件 85
4.9.1 中间件实现示例 86
4.9.2 使用REST API服务 88
4.10 使用httpx模块 88
4.11 使用requests模块 90
4.12 应用领域建模方法 91
4.13 创建层 92
4.14 识别领域模型 92
4.15 构建存储库层和服务层 94
4.15.1 存储库层模式 94
4.15.2 服务层模式 96
4.15.3 使用工厂方法模式 97
4.16 管理微服务的配置细节 97
4.16.1 将设置存储为类属性 98
4.16.2 在属性文件中存储设置 99
4.17 小结 101
第2篇 以数据为中心的微服务和专注于通信的微服务
第5章 连接到关系数据库 105
5.1 技术要求 106
5.2 准备数据库连接 106
5.3 使用SQLAlchemy创建同步CRUD事务 107
5.3.1 安装数据库驱动程序 108
5.3.2 设置数据库连接 108
5.3.3 初始化会话工厂 109
5.3.4 定义Base类 109
5.3.5 构建模型层 110
5.3.6 映射表关系 111
5.3.7 实现存储库层 113
5.3.8 建立CRUD事务 113
5.3.9 创建连接查询 116
5.3.10 运行事务 117
5.3.11 创建表 119
5.4 使用SQLAlchemy实现异步CRUD事务 120
5.4.1 安装兼容asyncio的数据库驱动程序 120
5.4.2 设置数据库的连接 121
5.4.3 创建会话工厂 121
5.4.4 创建Base类和模型层 122
5.4.5 构建存储库层 122
5.4.6 运行CRUD事务 125
5.5 使用GINO实现异步CRUD事务 126
5.5.1 安装数据库驱动程序 127
5.5.2 建立数据库连接 127
5.5.3 构建模型层 127
5.5.4 映射表关系 128
5.5.5 实现CRUD事务 130
5.5.6 运行CRUD事务 133
5.5.7 创建表 134
5.6 将Pony ORM用于存储库层 135
5.6.1 安装数据库驱动程序 135
5.6.2 创建数据库连接 135
5.6.3 定义模型类 135
5.6.4 实现CRUD事务 138
5.6.5 运行存储库事务 141
5.6.6 创建表 142
5.7 使用Peewee构建存储库 142
5.7.1 安装数据库驱动程序 142
5.7.2 创建数据库连接 142
5.7.3 创建表和领域层 143
5.7.4 实现CRUD事务 146
5.7.5 运行CRUD事务 148
5.8 应用CQRS设计模式 148
5.8.1 定义处理程序接口 149
5.8.2 创建命令和查询类 149
5.8.3 创建命令和查询处理程序 150
5.8.4 访问处理程序 151
5.9 小结 152
第6章 使用非关系数据库 155
6.1 技术要求 156
6.2 设置数据库环境 156
6.3 应用PyMongo驱动程序进行同步连接 158
6.3.1 设置数据库连接 159
6.3.2 构建模型层 160
6.3.3 建立文档关联 161
6.3.4 使用BaseModel类 162
— 没有更多了 —
以下为对购买帮助不大的评价