PYTHON微服务开发pdf下载

PYTHON微服务开发百度网盘pdf下载

作者:
简介:PYTHON微服务开发
出版社:
出版时间:2018-08
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

作  者:[法]塔里克·齐亚德(Tarek Ziadé)著 和坚 张渊 译 著 和坚//张渊 译
定  价:59
出 版 社:清华大学出版社
出版日期:2019年04月01日
页  数:265
装  帧:平装
ISBN:9787302524120
使用Python工具生态系统降低微服务复杂性的实用方法 Web应用经常部署到云服务器,应用代码需要与诸多第三方服务交互。从理论上讲,可使用微服务架构来高效地构建此类应用,但在实际中,考虑到各部分间的交互难度,构建微服务架构并非易事。 《Python微服务开发》将指导你采用佳的、成熟的构建方式,避开常见陷阱,克服问题,开发出多个较小的标准单元,将其组合成Web应用。本书紧贴实用,将指导你理解和运用TDD原则,使用Python 3及其很好的工具生态系统来构建一切。 通过学习本书,你将遵循佳策等
章 理解微服务 1 1.1 SOA的起源 2 1.2 单体架构 2 1.3 微服务架构 5 1.4 微服务的益处 7 1.4.1 分离团队的关注点 7 1.4.2 更小的项目 8 1.4.3 扩展和部署 8 1.5 微服务的缺陷 9 1.5.1 不合理的拆分 9 1.5.2 更多的网络交互 9 1.5.3 数据的存储和分享 10 1.5.4 兼容性问题 10 1.5.5 测试 10 1.6 使用Python实现微服务 11 1.6.1 WSGI标准 12 1.6.2 greenlet和gevent模块 13 1.6.3 Twisted和Tornado模块 15 1.6.4 asyncio模块 16 1.6.5 语言性能 18 1.7 本章小结 20 第 2 章 Flask框架 21 2.1 选择Python版本 22 2.2 Flask如何处理请求 23 2.2.1 路由匹配 26 2.2.2 请求 30 2.2.3 响应 32 2.3 Flask的内置特性 33 2.3.1 Session对象 34 2.3.2 全局值 34 2.3.3 信号 35 2.3.4 扩展和中间件 37 2.3.5 模板 38 2.3.6 配置 40 2.3.7 Blueprint 42 2.3.8 错误处理和调试 43 2.4 微服务应用的骨架 47 2.5 本章小结 49 第 3 章 良性循环:编码、测试和写文档 51 3.1 各种测试类型的差异 52 3.1.1 单元测试 53 3.1.2 功能测试 56 3.1.3 集成测试 58 3.1.4 负载测试 59 3.1.5 端到端测试 61 3.2 使用WebTest 62 3.3 使用pytest和Tox 64 3.4 开发者文档 67 3.5 持续集成 71 3.5.1 Travis-CI 72 3.5.2 ReadTheDocs 73 3.5.3 Coveralls 73 3.6 本章小结 75 第 4 章 设计Runnerly 77 4.1 Runnerly应用 77 4.2 单体设计 79 4.2.1 模型 80 4.2.2 视图与模板 80 4.2.3 后台任务 84 4.2.4 身份验证和授权 88 4.2.5 单体设计汇总 92 4.3 拆分单体 93 4.4 数据服务 94 4.5 使用Open API 2.0 95 4.6 进一步拆分 97 4.7 本章小结 98 第 5 章 与其他服务交互 101 5.1 同步调用 102 5.1.1 在Flask应用中使用Session 103 5.1.2 连接池 107 5.1.3 HTTP缓存头 108 5.1.4 改进数据传输 111 5.1.5 同步总结 115 5.2 异步调用 116 5.2.1 任务队列 116 5.2.2 主题队列 117 5.2.3 发布/订阅模式 122 5.2.4 AMQP上的RPC 122 5.2.5 异步总结 122 5.3 测试服务间交互 123 5.3.1 模拟同步调用 123 5.3.2 模拟异步调用 124 5.4 本章小结 127 第 6 章 监控服务 129 6.1 集中化日志 129 6.1.1 设置Graylog 131 6.1.2 向Graylog发送日志 134 6.1.3 添加扩展字段 136 6.2 性能指标 137 6.2.1 系统指标 138 6.2.2 代码指标 140 6.2.3 Web服务器指标 142 6.3 本章小结 143 第 7 章 保护服务 145 7.1 OAuth2协议 146 7.2 基于令牌的身份验证 147 7.2.1 JWT标准 148 7.2.2 PyJWT 150 7.2.3 基于证书的X.509身份验证 151 7.2.4 TokenDealer微服务 154 7.2.5 使用TokenDealer 157 7.3 Web应用防火墙 160 7.4 保护代码 166 7.4.1 断言传入的数据 166 7.4.2 应用的范围 170 7.4.3 使用Bandit linter 171 7.5 本章小结 174 第 8 章 综合运用 175 8.1 构建ReactJS仪表盘 176 8.1.1 JSX语法 176 8.1.2 React组件 177 8.2 ReactJS与Flask 181 8.2.1 使用 bower、npm和babel 182 8.2.2 跨域资源共享 185 8.3 身份验证与授权 188 8.3.1 与数据服务交互 188 8.3.2 获取Strava令牌 189 8.3.3 身份验证 191 8.4 本章小结 192 第 9 章 打包和运行Runnerly 195 9.1 打包工具链 196 9.1.1 一些定义 196 9.1.2 打包 197 9.1.3 版本控制 204 9.1.4 发布 206 9.1.5 分发 208 9.2 运行所有微服务 210 9.3 进程管理 213 9.4 本章小结 216 0 章 容器化服务 217 10.1 何为Docker? 218 10.2 Docker简介 219 10.3 在Docker中运行Flask 221 10.4 完整的栈——OpenResty、Circus和Flask 223 10.4.1 OpenResty 224 10.4.2 Circus 226 10.5 基于Docker的部署 228 10.5.1 Docker Come 230 10.5.2 集群和初始化简介 231 10.6 本章小结 233 1 章 在AWS上部署 235 11.1 AWS总览 236 11.2 路由:Route53、ELB和AutoScaling 237 11.3 执行:EC2和Lambda 237 11.4 存储:EBS、S3、RDS、ElasticCache和CloudFront 238 11.4.1 消息:SES、SQS和SNS 240 11.4.2 初始化资源和部署:CloudFormation和ECS 241 11.5 在AWS上部署简介 242 11.5.1 创建AWS账号 242 11.5.2 使用CoreOS在EC2上部署 244 11.6 使用ECS 部署 247 11.7 Route53 251 11.8 本章小结 253 2 章 接下来做什么? 255 12.1 迭代器和生成器 256 12.2 协同程序 259 12.3 asyncio库 260 12.4 aiohttp框架 262 12.5 Sanic 262 12.6 异步和同步 264 12.7 本章小结 265

内容简介

全书共12章,内容包括:理解微服务、使用flask、测试驱动开发与文档化、设计Forrest、与其他服务交互、保护服务安全、使用微服务、打包Forrest、将服务Docker化、在AWS上部署、超前思维等。
[法]塔里克·齐亚德(Tarek Ziadé)著 和坚 张渊 译 著 和坚//张渊 译
Tarek Ziade?是一位Python 开发人员,在Mozilla的服务团队工作,已使用法语和英语撰写多本Python书籍。Tarek创建了一个名为Afpy的法国Python用户组,现居住在法国第戎市郊区。在工作之余,Tarek不忘陪伴家人。他另有爱好:跑步和吹小号。 可访问Tarek的个人博客(Fetchez le Python),并在Twitter上关注他(@tarek_ziade)。还可在上找到他撰写的另一本书Expert Python Programming,该书已由Packt出版。 感谢Packt团队,以及帮助过我的以下技术精英:Stéfane Fermigier、Will等
为将Web应用部署到云,代码需要与很多第三方服务进行交互。使用微服务架构,可构建能管理这些交互的大型应用。但这带来一系列挑战,每项挑战都有独特的复杂性。这本通俗易懂的指南旨在帮助你克服这些挑战。书中将介绍如何以合理的方式设计、开发、测试和部署微服务,紧贴实用的示例将帮助 Python 开发者用高效的方式创建Python微服务。阅读完《Python微服务开发》,读者将掌握基于小型标准单元构建大型应用的技能。《Python微服务开发》将使用成熟的佳实践,并分析如何规避常见陷阱。此外,对于正将单体设计转换成新型“微服务”开发范式的社区开发者来说,《Python微服务开发》也颇具价值。 《Python微服务开发》内容 章“理解微服务”定义什么是微服务,以及微服务在现代Web应用中扮演的角色。还介绍Python,并解释为什么用Python构建微服务是上佳之选。 第2章“Flask框架”介绍Fl等