【问题标题】:Python high load capable microservice architecturePython 高负载能力的微服务架构
【发布时间】:2019-06-15 01:42:57
【问题描述】:

我想问你关于 Python 中的微服务的问题。在写这篇文章的时候,我已经很好地编写了结构良好的 flask-restful API,我想去学习 python 中的微服务。

现在我已经阅读了很多关于此的信息,甚至在网上搜索以找到此示例(1 个示例 here)但我不确定从哪里开始,因为我不想投资在低效模式下花费太多时间。

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

任何建议都会很棒。

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

【问题讨论】:

    标签: python microservices python-3.7


    【解决方案1】:

    Python 中有很多微服务框架可以处理高负载,让您在遵循最佳实践方面取得很大进展。

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

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

    (2) 并实现端点的方法。

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

    下面是一个使用 pymacaron 实现的 helloworld api 示例:https://github.com/pymacaron/pymacaron-helloworld

    【讨论】:

      猜你喜欢
      • 2015-07-25
      • 2015-12-26
      • 2020-08-18
      • 2016-11-23
      • 2018-03-29
      • 2019-03-23
      • 2016-11-22
      • 2019-05-17
      相关资源
      最近更新 更多