你好!我是陪你一起进阶人生的范老师!愿你成才!助你成长!' N& }% i% ]9 H8 `& N
大家好!我是数学中国范老师,今天为将 Web 应用部署到云,代码需要与很多第三方服务进行交互。使用微服务架构,可构建能管理这些交互的大型应用。但这带来一系列挑战,每项挑战都有独特的复杂性。这本通俗易懂的指南旨在帮助你克服这些挑战。书中将介绍如何以最合理的方式设计、开发、测试和部署微服务,紧贴实用的示例将帮助 Python开发者用最高效的方式创建 Python 微服务。阅读完本书,读者将掌握基于小型标准单元构建大型应用的技能。8 q) x- K. z D4 P* J) D: m
2 d. h" A$ }5 S2024数学中国“认证杯”数学建模网络挑战赛,第二阶段开放报名中,每个阶段都有独立证书,未参加一阶段也可以直接参加二阶段。比赛的获奖证书由内蒙古数学学会颁发,二阶段赛题难度等同于国赛,适合验证参加国赛的水平,同时我们会给出免费评语,指引参赛队伍的后续提升方向。! H c4 P A6 r$ t
二阶段报名官网:http://www.tzmcm.cn/shiti.html 6 y y5 b5 R }注:已报名一阶段的无需重复报名二阶段4 R8 G0 c; O9 B5 V4 {
' G, O0 J5 e2 {% A/ _; s0 T本书内容7 r* }6 I) |1 r$ @0 @; Y
第1章“理解微服务”定义什么是微服务,以及微服务在现代Web应用中扮演的角色。还介绍Python,并解释为什么用Python 构建微服务是上佳之选。 P/ }- a$ W1 d, [ P) l& d0 q第2章“Flask框架”介绍Flask的主要特性。通过一个Web应用示例来展示这个框架,Flask 是构建微服务的基础。 2 |; A5 @7 X* l+ O; y第3章“良性循环:编程、测试和写文档”,介绍测试驱动开发方法和持续集成方法,以及在构建和打包 Flask 应用的实践中如何使用这些方法。 + q, {" e3 R B8 R第4章“设计Runnerly”基于应用特性和用户案例,首先构建一个单体应用,然后讲述如何将其拆解成微服务,并实现微服务之间的数据交互。还将介绍用来描述HTTPAPI的Open API2.0(ex-Swagger)规范。# ? z% O& k( c+ k# ?
第5章“与其他服务交互”介绍一个服务如何与后台服务进行交互,如何处理网络拆分问题,以及其他交互问题,另外介绍如何独立地测试一个服务。$ g4 Z5 p" W! }, z
第6章“监控服务”介绍如何在代码中添加日志和指标,清晰地掌控全局,确定发生了什么,并能追查问题和了解服务利用率。) X% O( e, K/ N% m) [# o( Z
第7章“保护服务”介绍如何保护微服务,如何处理用户身份验证、服务间身份验证以及用户管理。还介绍针对服务的欺诈和滥用,以及如何缓解这些问题。7 A4 ?1 N; m/ `: i4 F. n
第8章“综合运用”描述在终端用户界面中,如何设计和构建一个使用微服务的JavaScript 应用。' E. l. W9 p9 w" S7 A6 [" G
第9章“打包和运行 Runnerly”描述如何打包、构建和运行整个应用。开发者必 % M# G$ S" R' z( U- W须能够将应用打包到一个开发环境中,确保所有部分都可以运行。( K* V9 a& g! X( k6 n& g2 C. A+ h* g2 x
第10章“容器化服务”解释什么是虚拟化,如何使用Docker,如何将服务做成Docker镜像。( l i$ y0 m, `9 Y2 {
第11章“在AWS上部署”首先介绍当前的云服务厂商和AWS 世界。然后演示如何使用AWS来实例化一个基于微服务架构的应用。另外介绍CoreOS,这是一个专门用于在云上发布Docker容器的Linux分支。0 Z: \; K9 p' S1 Q% G: Q, _) N( q
第12章“接下来做什么?”总结全书,在如何构建独立于云厂商和虚拟化技术的微服务问题上,给出一些提示来避免将鸡蛋放入同一个篮子里。还将帮助你巩固第 9章中学到的知识。4 x2 `8 U5 J% H' M1 H. A. i1 g- }
阅读本书需要准备什么 v* k- l0 W/ l/ [5 ?, k# v' V要执行本书的命令和应用,系统需要安装Python3x、virtualenv1x和DockerCE正文中也会根据需要详细列出安装说明。/ j7 J% Z7 u0 M# j
读者对象# f- B6 D7 t) m
作为一名开发者,如果你了解Python基本概念、命令行,以及基于HTTP的应用设计原则,并想学习如何构建、测试、扩展和管理Pvthon3微服务,那么本书适合你。 3 J( w( r0 a: B阅读本书,你不必具有用Python编写微服务的任何经验。& k! j7 M. r# [- z% [
) u: u+ y, ^; @* h" K