Web应用经常部署到云服务器,应用代码需要与诸多第三方服务交互。从理论上讲,可使用微服务架构来高效地构建此类应用,但在实际中,考虑到各部分间的交互难度,构建微服务架构并非易事。《Python微服务开发》将指导你采用最佳的、成熟的构建方式,避开常见陷阱,克服问题,最终开发出多个较小的标准单元,将其组合成Web应用。本书紧贴实用,将指导你理解和运用TDD原则,使用Python 3及其卓越的工具生态系统来构建一切。
本书内容
第1章“理解微服务”定义什么是微服务,以及微服务在现代Web应用中扮演的角色。还介绍Python,并解释为什么用Python构建微服务是上佳之选。
第2章“Flask框架”介绍Flask的主要特性。通过一个Web应用示例来展示这个框架,Flask是构建微服务的基础。
第3章“良性循环:编程、测试和写文档”,介绍测试驱动开发方法和持续集成方法,以及在构建和打包Flask应用的实践中如何使用这些方法。
第4章“设计Runnerly”基于应用特性和用户案例,首先构建一个单体应用,然后讲述如何将其拆解成微服务,并实现微服务之间的数据交互。还将介绍用来描述HTTP API 的 Open API2.0(ex-Swagger)规范。
第5章“与其他服务交互”介绍一个服务如何与后台服务进行交互,如何处理网络拆分问题,以及其他交互问题,另外介绍如何独立地测试一个服务。
第6章“监控服务”介绍如何在代码中添加日志和指标,清晰地掌控全局,确定发生了什么,并能追查问题和了解服务利用率。
第7章“保护服务”介绍如何保护微服务,如何处理用户身份验证、服务间身份验证以及用户管理。还介绍针对服务的欺诈和滥用,以及如何缓解这些问题。
第8章“综合运用”描述在终端用户界面中,如何设计和构建一个使用微服务的JavaScript应用。
第9章“打包和运行Runnerly”描述如何打包、构建和运行整个应用。开发者必须能够将应用打包到一个开发环境中,确保所有部分都可以运行。
第10章“容器化服务”解释什么是虚拟化,如何使用Docker,如何将服务做成Docker镜像。
第11章“在AWS上部署”首先介绍当前的云服务厂商和AWS世界。然后演示如何使用AWS来实例化一个基于微服务架构的应用。另外介绍CoreOS,这是一个专门用于在云上发布Docker容器的Linux分支。
第12章“接下来做什么?”总结全书,在如何构建独立于云厂商和虚拟化技术的微服务问题上,给出一些提示来避免将鸡蛋放入同一个篮子里。还将帮助你巩固第9章中学到的知识。
评论0