《Python云原生:构建应对海量用户数据的高可扩展Web应用》以一个应用程序开发贯穿始终,从云原生和微服务的定义原理讲起,应用Python构建云原生运用,并应用React构建Web主视图。以便解决规模性的互联网技术总流量,应用了Flux构建UI和事件追溯及CQRS方式。充分考虑Web运用的安全系数,这书对于此事也给出了解决方法。书里针对关键因素开展了详尽解读并给出运作結果。阅读者能够 利用Docker器皿、CI/CD专用工具,灵巧构建和公布这书实例中的运用到AWS、Azure那样的云计算平台服务平台上,再利用服务平台专用工具对基础设施建设和运用的运作开展不断监控器。
目录
- 1 云原生应用和微服务简介1
- 云计算简介2
- 软件即服务3
- 平台即服务4
- 基础设施即服务4
- 云原生概念5
- 云原生为何物?为何重要5
- 云原生运行时环境6
- 云原生架构6
- 理解十二要素应用9
- 设置Python环境11
- 安装Git11
- 安装和配置Python19
- 熟悉GitHub和Git命令26
- 本章小结27
- 2 使用Python构建微服务29
- Python概念解析29
- 模块29
- 函数30
- 微服务模型31
- 构建微服务32
- 构建user资源的方法38
- 构建tweet资源的方法47
- 测试RESTful API52
- 单元测试53
- 本章小结56
- 3 使用Python构建Web应用57
- 应用入门58
- 创建应用程序用户59
- 使用Observable和AJAX61
- 绑定数据到adduser模板63
- 用户发送推文65
- 在推文模板上使用Observable和AJAX67
- 绑定数据到addtweet模版69
- CORS——跨源资源共享71
- Session管理72
- Cookies75
- 本章小结76
- 4 与数据服务交互77
- MongoDB有什么优势,为什么要使用它77
- MongoDB中的术语78
- 安装MongoDB79
- 初始化MongoDB数据库80
- 在微服务中集成MongoDB82
- 处理user资源83
- 处理推文资源90
- 本章小结93
- 5 使用React构建Web视图95
- 理解React95
- 配置React环境96
- 安装node96
- 创建package.json97
- 使用React构建webViews98
- 在微服务中集成Web视图106
- 用户验证109
- 用户登录109
- 用户注册111
- 用户资料114
- 用户注销117
- 测试React webViews117
- Jest118
- Selenium118
- 本章小结118
- 6 使用Flux来构建UI以应对大规模流量119
- Flux介绍119
- Flux概念120
- 在UI中添加日期121
- 使用Flux创建UI121
- 动作和分派器122
- 数据源125
- 本章小结134
- 7 事件溯源与CQRS135
- 简介136
- 理解事件溯源138
- 事件溯源定律140
- CQRS介绍142
- CQRS架构的优点144
- 事件溯源与CQRS面临的挑战145
- 应对挑战146
- 解决问题146
- 使用Kafka作为事件存储151
- 使用Kafka做事件溯源152
- 工作原理154
- 本章小结154
- 8 Web应用的安全性155
- 网络安全性和应用安全性155
- 网络应用栈155
- 开发安全的Web应用程序建议176
- 本章小结176
- 9 持续交付177
- 持续集成与持续交付的变迁177
- 理解SDLC177
- 敏捷开发流程178
- 持续集成180
- Jenkins持续集成工具182
- 安装Jenkins182
- 配置Jenkins185
- Jenkins自动化配置188
- Jenkins安全配置189
- 插件管理190
- 版本控制系统191
- 设置Jenkins job191
- 理解持续交付198
- 持续交付的诉求198
- 持续交付与持续部署199
- 本章小结199
- 10 应用容器化201
- Docker介绍201
- 关于Docker和虚拟化的一些事实202
- Docker Engine——Docker的骨干202
- 配置Docker环境203
- Docker Swarm206
- 在Docker中部署应用210
- 构建和运行MongoDB Docker服务211
- Docker Hub是用来干什么的214
- Docker Compose221
- 本章小结223
- 11 部署到AWS云平台225
- AWS入门225
- 在AWS上构建应用程序基础架构227
- 生成认证密钥229
- Terraform——基础设施即代码构建工具233
- CloudFormation——构建基础设施即代码的AWS工具244
- 云原生应用的持续部署251
- 工作原理252
- 本章小结259
- 12 部署到Azure云平台261
- Microsoft Azure入门261
- Microsoft Azure基本知识263
- 在Azure中创建虚拟机265
- 在Azure中使用Jenkins CI/CD流水线280
- 本章小结285
- 13 监控云应用287
- 云平台上的监控287
- 基于AWS的服务288
- CloudWatch288
- CloudTrail293
- AWS Config service294
- Microsoft Azure服务296
- Application Insights296
- ELK技术栈介绍299
- 开源监控工具305
- Prometheus305
- 本章小结308