【问题标题】:gunicorn server in Google App Engine Standard EnvironmentGoogle App Engine 标准环境中的 gunicorn 服务器
【发布时间】:2018-03-29 18:15:40
【问题描述】:

我正在 Google App Engine 的标准环境中开发具有微服务架构的 Flask 应用。这个应用程序需要维持大量的流量,所以它似乎非常适合Standard Environment。我的问题是这样的:

在我使用过的其他环境(Heroku、App Engine Flexible)中,您必须将 Flask 应用配置为使用像 gunicorn 这样的生产级 WSGI Web 服务器,因为内置的 Flask 服务器仅适用于开发。柔性环境有这方面的文档,但标准没有。我是否正确假设这是因为标准环境(如 app.yaml 中配置的)管理请求处理以及 gunicorn 以生产就绪方式提供的所有其他内容?真的有那么容易吗?

【问题讨论】:

    标签: python google-app-engine gunicorn


    【解决方案1】:

    是的,真的就是这么简单。作为 PaaS,GAE 会为您处理所有这些。就像 SnapChat 增长到 1.5 亿用户时所做的那样(是的,托管在 GAE 上)。

    观看“App Engine Architecture and Services”和“You Can Run That On App Engine?”。这些描述了其中的一些。传入的请求首先在 GAE 前端服务器上的队列中被捕获。从那里它决定如何处理它。如果您的应用程序实例未运行,它会启动一个实例,然后将请求传递给它。如果一个实例正在运行并且不太忙,它会立即将请求传递给它。如果所有正在运行的实例都忙,它将保留该请求,直到一个实例能够接受另一个请求。如果请求在前端队列中停留的时间过长(根据您可以设置的参数),GAE 将启动更多实例来处理积压。

    使用 GAE,您的应用现在可以在具有负载平衡器、前端请求队列服务器、边缘服务器、自动缩放应用服务器、私有全球光纤网络等的环境中运行。这意味着所有“生产质量”在自行设计的服务器上担心会导致您进入 gunicorn 等问题,Google 在 GAE 中的智能工程师可以解决这些问题。

    由于您正在寻找微服务,您可能还想阅读 GAE 文档中的 Microservices Architecture on Google App Engine

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-01
      • 2018-03-12
      • 2018-10-07
      • 1970-01-01
      • 2016-09-26
      • 1970-01-01
      • 2018-05-26
      • 2020-08-10
      相关资源
      最近更新 更多