Python 高负载微服务架构

Python high load capable microservice architecture

我想问你关于 Python 中微服务的问题。在写这篇文章时,我已经非常擅长编写结构良好的 flask-restful APIs 并且我想去 python.

中学习微服务

现在我已经阅读了很多关于这方面的信息,甚至在网上搜索了这方面的示例(1 个示例 here),但我不确定从哪里开始,因为我不知道不想在低效模式上投入太多时间。

所以我想知道是否有人知道有关构建高负载服务的 Python 示例课程。到目前为止,我唯一的提示是 asyncioaiohttp 用于请求处理,我不确定使用消息代理(例如 zeromq 或 rabbitmq)是否是我读到的好主意,它添加请求延迟。

任何建议都很好。

PS: 我目前坚持的模式是 API 网关模式,我也想知道这是否是一个好的开始方向。

Python 中有大量微服务框架可以处理高负载并让您在遵循最佳实践方面取得长足进步。

例如尝试使用 pymacaron (http://pymacaron.com/)。 Pymacaron 基本上是一个烧瓶应用程序,其端点是根据 swagger 规范自动生成的。要编写 pymacaron 微服务,您主要需要:

(1) 为您的 api 编写一个 swagger 规范(无论您使用什么语言,这始终是一个很好的起点)。您的 swagger 文件描述了您的 api 的 get/post/etc 调用以及它们获得的对象(json 指令)和 return,还描述了代码中的哪个 python 方法实现端点。

(2) 并实施您的端点方法。

完成后,您可以免费获得很多东西:您可以将代码打包为 docker 容器,将其部署到 amazon beanstalk,从 api 中启动异步任务调用,或无需额外工作即可获得 api 文档。

这里是一个用 pymacaron 实现的 helloworld api 的例子:https://github.com/pymacaron/pymacaron-helloworld