《Python云原生:构建应对海量用户数据的高可扩展Web应用》内容简介|作者

内容简介

本书以一个应用开发贯穿始终,从云原生和微服务的概念原理讲起,使用Python构建云原生应用,并使用React构建Web视图。为了应对大规模的互联网流量,使用了Flux构建UI和事件溯源及CQRS模式。考虑到Web应用的安全性,本书对此也给出了解决方案。书中对于关键步骤进行了详细讲解并给出运行结果。读者可以利用Docker容器、CI/CD工具,敏捷构建和发布本书示例中的应用到AWS、Azure这样的公有云平台上,再利用平台工具对基础设施和应用的运行进行持续监控。

作者简介:

Manish Sethi是一名工作在印度班加罗尔的工程师。在他的职业生涯中,他曾帮助初创公司和财富10强公司企业采用云原生方法来构建大规模可扩展产品。他经常花时间学习和实践新技术,并积极地使用无服务器架构、机器学习和深度学习等方法,解决实际问题。他通过撰写博客和在聚会上发表演讲等,为班加罗尔DevOps和Docker社区做出了贡献。

宋净超,就职于蚂蚁金服,Kubernetes及云原生应用布道师,Service Mesh爱好者社区联合发起人。乐于分享,拥抱开源,活跃于Kubernetes及微服务开发者社区。经常作为讲师在Qcon、ArchSummit等技术会议上进行分享,也常参与云栖大会等行业会议和线下Meetup。喜欢在个人博客(https://jimmysong.io)上发表见解,发布开源教程。业余时间喜欢摄影和旅游。

目 录:

1 云原生应用和微服务简介 1

云计算简介 2

软件即服务 3

平台即服务 4

基础设施即服务 4

云原生概念 5

云原生为何物?为何重要 5

云原生运行时环境 6

云原生架构 6

理解十二要素应用 9

设置Python环境 11

安装Git 11

安装和配置Python 19

熟悉GitHub和Git命令 26

本章小结 27

2 使用Python构建微服务 29

Python概念解析 29

模块 29

函数 30

微服务模型 31

构建微服务 32

构建user资源的方法 38

构建tweet资源的方法 47

测试RESTful API 52

单元测试 53

本章小结 56

3 使用Python构建Web应用 57

应用入门 58

创建应用程序用户 59

使用Observable和AJAX 61

绑定数据到adduser模板 63

用户发送推文 65

在推文模板上使用Observable和AJAX 67

绑定数据到addtweet模版 69

CORS 跨源资源共享 71

Session管理 72

Cookies 75

本章小结 76

4 与数据服务交互 77

MongoDB有什么优势,为什么要使用它 77

MongoDB中的术语 78

安装MongoDB 79

初始化MongoDB数据库 80

在微服务中集成MongoDB 82

处理user资源 83

处理推文资源 90

本章小结 93

5 使用React构建Web视图 95

理解React 95

配置React环境 96

安装node 96

创建package.json 97

使用React构建webViews 98

在微服务中集成Web视图 106

用户验证 109

用户登录 109

用户注册 111

用户资料 114

用户注销 117

测试React webViews 117

Jest 118

Selenium 118

本章小结 118

6 使用Flux来构建UI以应对大规模流量 119

Flux介绍 119

Flux概念 120

在UI中添加日期 121

使用Flux创建UI 121

动作和分派器 122

数据源 125

本章小结 134

7 事件溯源与CQRS 135

简介 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

理解SDLC 177

敏捷开发流程 178

持续集成 180

Jenkins持续集成工具 182

安装Jenkins 182

配置Jenkins 185

Jenkins自动化配置 188

Jenkins安全配置 189

插件管理 190

版本控制系统 191

设置Jenkins job 191

理解持续交付 198

持续交付的诉求 198

持续交付与持续部署 199

本章小结 199

10 应用容器化 201

Docker介绍 201

关于Docker和虚拟化的一些事实 202

Docker Engine Docker的骨干 202

配置Docker环境 203

Docker Swarm 206

在Docker中部署应用 210

构建和运行MongoDB Docker服务 211

Docker Hub是用来干什么的 214

Docker Compose 221

本章小结 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

CloudWatch 288

CloudTrail 293

AWS Config service 294

Microsoft Azure服务 296

Application Insights 296

ELK技术栈介绍 299

开源监控工具 305

Prometheus 305

本章小结 308

为您推荐

《谢米尔的小潜水艇》内容简介|作者

内容简介 好的幻想小说都是成长小说,它长久不衰的魅力,在于它能帮孩子处理成长过程中必须面对的内心冲突。它是一面镜子,能照出孩子的自我;是孩子们演练内心冲突的一个舞台;是一次孩子们的自我发现之旅。 日本大幻想文学..

《高考英语高分作文字帖》内容简介|作者

内容简介书籍特色 这是一套对英文字母、单词、短语、句子、文章书法练习的字帖,根据习字者的书法水平和英语程度,由浅入深,由易到难,通过循序渐进的练习,帮助习字者快速提高书..

《魏晋唐小楷-中国历代名碑名帖精选》内容简介|作者

内容简介书籍特色 为传承和发扬传统文化,江西美术出版社北京分社推出《中国历代名碑名帖精选》系列图书,让我们从这里抵达华夏文明的深处。  书法艺术是中华文化瑰宝,古人..

《王福庵印谱-全3册》内容简介|作者

《硬笔楷书入门字帖》内容简介|作者

内容简介书籍特色 广大学生和书法爱好者书写汉字,力求规范、端正、整洁,能用钢笔熟练地书写正楷字,逐步提高书写速度,规范书写习惯。随着国家对传统文化越来越重视,写一手好的..

《李文采临王羲之圣教序碑》内容简介|作者

内容简介本书由僧人怀仁集王羲之书而成。怀仁从唐内府所藏王羲之书迹及民间王字遗墨中集《圣教序》, 历时二十四年。前人评价此碑: “天衣无缝, 胜于自运”, “逸少真迹, 咸萃其中”。由于王羲之真迹不存, 此碑是后人..

《李文采临李邕李思训碑》内容简介|作者

内容简介本书精选历代著名碑帖 (自殷商至近代) 影印出版, 纵贯中国书法史, 更加精当合理, 底本注重艺术性与版本价值相结合, 是广大读者学习书法艺术的首选法帖。碑高一丈一尺三寸六分, 宽四尺八寸五分。字共三十行,..