【问题标题】:Flask deployment烧瓶部署
【发布时间】:2019-04-24 03:38:08
【问题描述】:

我创建了一个带有后端和前端的购物网站。 后端是带有 Flask 的 python (3.6.5)。 我想将我的网站部署到 Google App Engine (gae)。 在开发中,一切正常。 部署(在生产中)时,每个 rpc 都有自己的“线程”,一切都是一团糟。 我尝试用 sync 和 gevent worker class 在它上面拍 gunicorn,但无济于事。

在部署中,如何让每个连接/会话记住它自己的“后端实例”? - 而不是 gae/flask/gunicorn 为每个请求提供一个新的后端实例? 我需要每个用户连接保持一致并且是“自己的”/“私有的”。

【问题讨论】:

    标签: python google-app-engine flask google-cloud-platform gunicorn


    【解决方案1】:

    这是不可能的。 App Engine 会将请求负载分散到您的应用程序的所有实例中,无论之前哪个实例处理了来自特定 IP 的请求。由于 App Engine 的负载或底层更改(例如,数据中心需要维护),特定实例也可能会上线或下线。

    如果您需要在对应用程序的多个请求之间维护会话状态,您有几个选择,具体取决于架构:

    【讨论】:

    • 我不知道是 Google App Engine 导致了问题,但看来您是对的。我不确定这些选项中的任何一个对我来说是否可行......
    猜你喜欢
    • 1970-01-01
    • 2019-02-10
    • 2016-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-31
    • 2015-09-22
    相关资源
    最近更新 更多