Python微服务开发的电子书免费下载

资料大小: 3.70 MB

所需积分: 0

下载次数:

用户评论: 0条评论,查看

上传日期: 2019-12-17

上 传 者: qaz2019他上传的所有资料

资料介绍

标签:

  近年来,“微服务”技术风靡全球。随着传统互联网和移动互联网的蓬勃发展,企业在快速迭代中积累了大规模服务化开发和运维经验。为通过提高 IT 的响应能力来提升竞争力,微服务架构成为传统企业的“救命稻草”。开发团队在变革中改造和重建技术架构,企业管理者们切实感受到微服务带来的巨大好处。但不可否认,微服务架构带来了额外复杂性。对开发者提出了更高的要求,开发者不仅要编写业务代码,还需要具有部署和运维等能力。十多年前,当 Ruby on Rails 和 Django 发布时,人们热衷于追逐包罗万象、开箱即用的全栈式 Web 框架,只需要运行几行脚手架命令,就能快速编写一个包含 Web 页面和数据存储的 Todo List 应用。但时至今日,那些小巧灵便的框架变得越来越受欢迎,开发者更愿意选择“微框架”,通过谨慎地综合运用不同工具来开发应用;随着开发的进行,灵活地升级或替换其中的某些部分。Flask 即是这种微框架之一。本书模拟真实场景,从一个单体 Flask 应用开始,提出问题,分析和比较方案,作出权衡,最终解决问题(可能引出又一个“问题”——但并非当前的优先级),逐渐拆分出多个微服务,解决随之而来的部署、监控、安全等新问题,在最后利用异步编程优化性能。期间牵涉大量工具,但本书并未详细介绍它们,只是“点到为止”。本书内容紧贴实用,面向想要开阔眼界和动手实践的开发者和架构师。通过阅读本书,读者将能对微服务开发实践有系统性认识,以便在开发早期进行规划和技术选型。这里要感谢清华大学出版社的编辑们,他们为本书的翻译投入了巨大热情并付出了很多心血。没有他们的帮助和严谨的要求,本书不可能顺利付梓。本书涉及大量的实践和专业术语,虽然译者倾力而为,力求译文准确易懂。但毕竟水平有限,失误在所难免,如有任何意见和建议,请不吝指正!本书主要章节由和坚和张渊翻译,参与本书翻译的还有张坤、吴邦、刘易斯、赵汝达、何睿智、刘娟娟、罗冬哲等。最后,希望读者能通过本书对微服务开发有更深入的理解,并能继续探索解决已知问题的工具和方法。

  为将 Web 应用部署到云,代码需要与很多第三方服务进行交互。使用微服务架构,可构建能管理这些交互的大型应用。但这带来一系列挑战,每项挑战都有独特的复杂性。这本通俗易懂的指南旨在帮助你克服这些挑战。书中将介绍如何以最合理的方式设计、开发、测试和部署微服务,紧贴实用的示例将帮助 Python 开发者用最高效的方式创建 Python 微服务。阅读完本书,读者将掌握基于小型标准单元构建大型应用的技能。本书将使用成熟的最佳实践,并分析如何规避常见陷阱。此外,对于正将单体设计转换成新型“微服务”开发范式的社区开发者来说,本书也颇具价值。

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

下载地址

Python微服务开发的电子书免费下载下载

用户评论

查看全部 条评论

发表评论请先 , 还没有账号?免费注册

发表评论

用户评论
技术交流、我要发言! 发表评论可获取积分! 请遵守相关规定。
上传电子资料

行业聚焦