代码之家  ›  专栏  ›  技术社区  ›  ichbinblau

如何在Python Flask项目中启用Cloud Foundry的粘性会话?

  •  1
  • ichbinblau  · 技术社区  · 10 年前

    我正在开发一个应用程序,使用python在CloudFoundry中运行。当我尝试扩展实例时,我发现客户端请求每次都以循环方式路由到不同的实例。然而,我的应用程序将数据保持在会话中,这需要请求之间的一致性。

    我从CloudFoundry找到了一个文档,它引入了jsessionid以使其一致。 https://docs.cloudfoundry.org/devguide/deploy-apps/prepare-to-deploy.html#sessions

    下面是我为测试粘性会话而编写的代码片段。但即使我在cookie中添加了jsessionid,它也不起作用。有人能帮忙吗?谢谢

    @app.route('/') 
    def sticky_session():
        ret = "VCAP_APPLICATION env var: <br/>" + os.getenv("VCAP_APPLICATION", "") + "<br/>"
        ret += "<br/>"
        ret += "Port: " + os.getenv('PORT', '5000') + "<br/>"
        resp = make_response(ret)
        resp.set_cookie('jsessionid', 'your secret here.')
        session['test'] = 'test'
        return resp
    
    1 回复  |  直到 10 年前
        1
  •  1
  •   ichbinblau    10 年前

    它终于奏效了。唯一的区别是cookie是区分大小写的,应该是大写的。

    resp.set_cookie('JSESSIONID', 'your secret here.')
    
    推荐文章