Python云原生:构建应对海量用户数据的高可扩展Web应用
  • 推荐0
  • 收藏3
  • 浏览1.6K

Python云原生:构建应对海量用户数据的高可扩展Web应用

(印度)Manish Sethi(马尼什 塞西) (作者)  宋净超 (译者)

  • 书  号:978-7-121-34177-9
  • 出版日期:2018-07-01
  • 页  数:
  • 开  本:
  • 出版状态:上市销售
  • 原书名: Cloud Native Python
  • 原书号:9781787129313
  • 维护人:孙奇俏
本书以一个应用开发贯穿始终,从云原生和微服务的概念原理讲起,使用Python构建云原生应用,并使用React构建Web视图。为了应对大规模的互联网流量,使用了Flux构建UI和事件溯源及CQRS模式。考虑到Web应用的安全性,本书对此也给出了解决方案。书中对于关键步骤进行了详细讲解并给出运行结果。读者可以利用Docker容器、CI/CD工具,敏捷构建和发布本书示例中的应用到AWS、Azure这样的公有云平台上,再利用平台工具对基础设施和应用的运行进行持续监控。
机器学习+数据处理+网络爬虫热门编程语言Python助力云时代!云原生持续领航:敏捷、可靠、高弹性、故障隔离,轻松应对强需求架构场景,动态扩展大规模用户流量。
宋净超,就职于蚂蚁金服,Kubernetes及云原生应用布道师,Service Mesh爱好者社区联合发起人。乐于分享,拥抱开源,活跃于Kubernetes及微服务开发者社区。经常作为讲师在Qcon、ArchSummit等技术会议上进行分享,也常参与云栖大会等行业会议和线下Meetup。喜欢在个人博客(https://jimmysong.io)上发表见解,发布开源教程。业余时间喜欢摄影和旅游。
前言
随着当今商业的迅速发展,企业为了支撑自身的迅速扩张,仅仅依靠自有的基础设施是远远不够的。因此,他们一直在追求利用云的弹性来构建支持高度可扩展应用程序的平台。
本书是你一站式地了解使用Python构建云原生应用架构的理想读本。本书首先介绍了什么是云原生应用架构以及它们能够帮助你解决哪些问题。然后介绍了如何使用REST API和Python构建微服务,并通过事件驱动的方式构建Web层。接下来,探讨了如何与数据服务进行交互,并使用React构建Web视图。之后详细介绍了应用程序的安全性和性能,以及如何在Docker中容器化你的服务。最后,讨论了如何在AWS和Azure平台上部署你的应用程序。在部署了应用程序后,围绕应用程序故障排查的一系列概念和技术结束了这本书。
本书内容
第1章 云原生应用和微服务简介,讨论云原生架构的基本概念和构建应用程序开发环境的方法。
第2章 使用Python构建微服务,构建自己的微服务知识体系并根据用例进行扩展。
第3章 使用Python构建Web应用,构建一个初始的Web应用程序并与微服务集成。
第4章 与数据服务交互,教你如何将应用程序迁移到不同的数据库服务。
第5章 使用React构建Web视图,讨论如何使用React构建用户界面。
第6章 使用Flux来构建UI以应对大规模流量,帮助你理解如何使用Flux创建可扩展的应用程序。
第7章 事件溯源与CQRS,讨论如何以事件形式存储合约(transaction)。
第8章 Web应用的安全性,讨论如何让你的应用程序免受外部威胁。
第9章 持续交付,介绍应用程序频繁发布的相关知识。
第10章 应用容器化,讨论容器服务和在Docker中运行应用程序的方法。
第11章 部署到AWS云平台,教你如何在AWS上构建基础设施并建立应用程序的生产环境。
第12章 部署到Azure云平台,讨论如何在Azure上构建基础设施并建立应用程序的生产环境。
第13章 监控云应用,介绍不同的基础设施和应用的监控工具。

目录

目录
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

本书勘误

印次
  • 页码:58  •  行数:8  •  印次: 1

    template 应为templates
    否则程序页面不能显示.

    wlxn 提交于 2018/9/1 23:11:29
    孙奇俏 确认于 2019/2/20 16:11:25
  • 页码:64  •  行数:13  •  印次: 1

    userModels.user_list 应改为 userModels,
    前者执行不通过,后者正常执行.

    wlxn 提交于 2018/9/1 23:51:32
    孙奇俏 确认于 2019/2/20 16:11:33

读者评论

  • 列表显示推文那个代码执行老报错:
    $.map(…..)那一段代码

    jquery.min.js:2 Uncaught TypeError: Cannot read property ‘length’ of undefined
    at Function.map (jquery.min.js:2)
    at Object.success (projectlist.js:17)
    at l (jquery.min.js:2)
    at Object.fireWith [as resolveWith] (jquery.min.js:2)
    at T (jquery.min.js:2)
    at XMLHttpRequest.r (jquery.min.js:2)

    wlxn发表于 2018/9/1 23:14:06

相关博文

  • 【云原生丨主题周】云原生为何物?为何重要?

    【云原生丨主题周】云原生为何物?为何重要?

    管理员账号 2018-10-12

    小编说:云原生是一个宽泛的术语,本文带你快速了解云原生与云原生架构。本文选自《Python云原生》。 云原生是一种团队、文化和技术组织形式,利用自动化工具和架构来管理软件复杂度和加速软件交付。 云原生概念已经超出了技术的范畴。我...

    管理员账号 2018-10-12
    450 0 0 0

相关图书

高可靠系统构建指南:服务稳定性建设与技术债务治理

本书以服务稳定性建设与技术债务治理为主线,深度剖析 Java 服务全生命周期中的关键问题与解决方案,通过“问题诊断-治理框架-实践落地”的三层递进结构,构建了覆...

 

算法训练营:进阶篇(全彩版)

《算法训练营:进阶篇(全彩版)》图文并茂、通俗易懂,详细讲解数据结构和算法进阶知识,并融入大量的竞赛实例和解题技巧,可帮助读者领悟数据结构和算法的精髓,并熟练应...

 

算法训练营:入门篇(全彩版)

本书图文并茂、通俗易懂,详细讲解常用的算法知识,又融入了大量的竞赛实例和解题技巧,可帮助读者熟练应用各种算法解决实际问题。 本书总计9章。第1章讲解C++基础...

 

亿级流量系统架构设计与实战

李琛轩 (作者)

本书涵盖了亿级用户应用后台通用的技术和系统架构设计思路,在内容结构上分为三大篇:架构知识篇(第1~3章),作为全书的基础知识篇,首先介绍后台的关键组件构成以及机...

 

Istio权威指南(上):云原生服务网格Istio原理与实践

张超盟 等 编著 (作者)

本书是《Istio权威指南》的上册,重点讲解Istio的原理与实践,分为原理篇与实践篇。 原理篇介绍Istio的相关概念、主要架构和工作原理。其中,第1章...

 

算法笔记(第2版)

刁瑞 谢妍 (作者)

ChatGPT掀起了现象级的风暴,赶超ChatGPT潮流,算法突破是关键。 本书介绍了若干常见算法,涉及排序、哈希、动态规划与近似算法、高斯消去法、图论与线性...